Android

วิธีการติดตั้ง ElasticSearch บน CentOS 7

How to Install Graylog2 version 1.3.3 on CENTOS 7

How to Install Graylog2 version 1.3.3 on CENTOS 7

สารบัญ:

Anonim

Elasticsearch เป็นโอเพ่นซอร์สแบบกระจายข้อความค้นหาและเครื่องมือวิเคราะห์ สนับสนุนการดำเนินการ RESTful และช่วยให้คุณจัดเก็บค้นหาและวิเคราะห์ข้อมูลปริมาณมากในเวลาจริง Elasticsearch เป็นหนึ่งในเสิร์ชเอนจิ้นที่ได้รับความนิยมมากที่สุดที่เสริมประสิทธิภาพให้กับแอพพลิเคชั่นที่มีความต้องการการค้นหาที่ซับซ้อนเช่นร้านค้าอีคอมเมิร์ซขนาดใหญ่และแอพพลิเคชั่นการวิเคราะห์

บทช่วยสอนนี้อธิบายวิธีการติดตั้ง Elasticsearch บน CentOS 7

ข้อกำหนดเบื้องต้น

ผู้ใช้ที่คุณเข้าสู่ระบบต้องมีสิทธิ์ sudo เพื่อให้สามารถติดตั้งแพ็คเกจได้

การติดตั้ง Elasticsearch

วิธีที่แนะนำในการติดตั้ง Elasticsearch บน CentOS 7 คือการติดตั้งแพ็กเกจ rpm จากที่เก็บ Elasticsearch อย่างเป็นทางการ

ในขณะที่เขียนบทความนี้ Elasticsearch รุ่นล่าสุดคือ 6.7 และต้องใช้ Java 8 หรือใหม่กว่า

ในการติดตั้ง OpenJDK 8 บนประเภทระบบ CentOS ของคุณ:

sudo yum install java-1.8.0-openjdk-devel

ตรวจสอบการติดตั้ง Java โดยการพิมพ์เวอร์ชั่น Java:

java -version

ผลลัพธ์ควรมีลักษณะดังนี้:

openjdk version "1.8.0_201" OpenJDK Runtime Environment (build 1.8.0_201-b09) OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

หลังจากติดตั้ง Java แล้วขั้นตอนต่อไปคือการเพิ่มที่เก็บ Elasticsearch

อิมพอร์ตคีย์ GPG ของที่เก็บโดยใช้คำสั่งต่อไปนี้:

sudo rpm --import

เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ repo ต่อไปนี้:

sudo nano /etc/yum.repos.d/elasticsearch.repo

วางเนื้อหาต่อไปนี้ลงในไฟล์:

/etc/yum.repos.d/elasticsearch.repo

name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md

บันทึกไฟล์และปิดโปรแกรมแก้ไขข้อความของคุณ

หากคุณต้องการติดตั้ง Elasticsearch รุ่นก่อนหน้าให้เปลี่ยน 6.x ในคำสั่งด้านบนด้วยรุ่นที่คุณต้องการ

ตอนนี้คุณสามารถติดตั้งแพ็คเกจ Elasticsearch ได้โดยพิมพ์:

sudo yum install elasticsearch

เมื่อกระบวนการติดตั้งเสร็จสมบูรณ์ให้เริ่มและเปิดใช้งานบริการโดยเรียกใช้:

sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service

คุณสามารถตรวจสอบว่า Elasticsearch กำลังทำงานอยู่โดยส่งคำร้องขอ HTTP ไปยังพอร์ต 9200 บน localhost ด้วยคำสั่ง curl ต่อไปนี้:

curl -X GET "localhost:9200/"

ผลลัพธ์จะมีลักษณะคล้ายกับที่แสดงต่อไปนี้:

{ "name": "fLVNqN_", "cluster_name": "elasticsearch", "cluster_uuid": "6zKcQppYREaRH0tyfJ9j7Q", "version": { "number": "6.7.0", "build_flavor": "default", "build_type": "rpm", "build_hash": "8453f77", "build_date": "2019-03-21T15:32:29.844721Z", "build_snapshot": false, "lucene_version": "7.7.0", "minimum_wire_compatibility_version": "5.6.0", "minimum_index_compatibility_version": "5.0.0" }, "tagline": "You Know, for Search" }

อาจใช้เวลา 5-10 วินาทีเพื่อให้บริการเริ่มทำงาน หากคุณเห็น curl: (7) Failed to connect to localhost port 9200: Connection refused ให้รอสองสามวินาทีแล้วลองอีกครั้ง

หากต้องการดูข้อความที่บันทึกโดยบริการ Elasticsearch คุณสามารถใช้คำสั่งด้านล่าง:

sudo journalctl -u elasticsearch

ณ จุดนี้คุณมี Elasticsearch ติดตั้งอยู่บนเซิร์ฟเวอร์ CentOS ของคุณ

การกำหนดค่า Elasticsearch

ข้อมูล Elasticsearch ถูกเก็บไว้ในไดเรกทอรี /var/lib/elasticsearch ไฟล์การกำหนดค่าจะอยู่ใน /etc/elasticsearch

โดยค่าเริ่มต้น Elasticsearch มีการกำหนดค่าให้ฟังบน localhost เท่านั้น หากไคลเอ็นต์ที่เชื่อมต่อกับฐานข้อมูลกำลังทำงานบนโฮสต์เดียวกันและคุณกำลังตั้งค่าคลัสเตอร์โหนดเดี่ยวคุณไม่จำเป็นต้องเปลี่ยนไฟล์กำหนดค่าเริ่มต้น

การเข้าถึงระยะไกล

Elasticsearch ไม่ใช้การพิสูจน์ตัวตนเพื่อให้สามารถเข้าถึงได้โดยทุกคนที่สามารถเข้าถึง HTTP API ได้ หากคุณต้องการอนุญาตให้เข้าถึงเซิร์ฟเวอร์ Elasticsearch ระยะไกลคุณจะต้องกำหนดค่าไฟร์วอลล์ของคุณและอนุญาตให้เข้าถึงพอร์ต Elasticsearch 9200 จากไคลเอนต์ที่เชื่อถือได้เท่านั้น

เริ่มต้นด้วย CentOS 7, FirewallD จะแทนที่ iptables เป็นเครื่องมือจัดการไฟร์วอลล์เริ่มต้น

รันคำสั่งต่อไปนี้เพื่ออนุญาตการประเมินจากที่อยู่ IP ระยะไกลที่เชื่อถือได้บนพอร์ต 9200 :

sudo firewall-cmd --new-zone=elasticsearch --permanent sudo firewall-cmd --reload sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanent sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent sudo firewall-cmd --reload อย่าลืมเปลี่ยน 192.168.121.80 ด้วยที่อยู่ IP ระยะไกลของคุณ

หลังจากนั้นหากคุณต้องการอนุญาตการเข้าถึงจากที่อยู่ IP อื่นให้ใช้:

sudo firewall-cmd --zone=elasticsearch --add-source= --permanent sudo firewall-cmd --reload

เมื่อกำหนดค่าไฟร์วอลล์แล้วขั้นตอนต่อไปคือแก้ไขการกำหนดค่า Elasticsearch และอนุญาตให้ Elasticsearch รับฟังการเชื่อมต่อภายนอก

หากต้องการทำเช่นนั้นให้เปิดไฟล์คอนฟิกูเรชัน elasticsearch.yml :

sudo nano /etc/elasticsearch/elasticsearch.yml

ค้นหาบรรทัดที่มี network.host ไม่ต้องใส่เครื่องหมายข้อคิดเห็นและเปลี่ยนค่าเป็น 0.0.0.0 :

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

เริ่มบริการ Elasticsearch เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart elasticsearch

แค่นั้นแหละ. ตอนนี้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ Elasticsearch จากตำแหน่งระยะไกลของคุณ

ข้อสรุป

คุณได้ติดตั้ง Elasticsearch บน CentOS 7 ของคุณเรียบร้อยแล้วตอนนี้คุณสามารถไปที่หน้าเอกสาร Elasticsearch อย่างเป็นทางการและเรียนรู้วิธีเริ่มต้นกับ Elasticsearch

Java elasticsearch ฐานข้อมูล centos