Android

วิธีการติดตั้ง elasticsearch บน debian 9

Your Data, Your Search, Elasticsearch

Your Data, Your Search, Elasticsearch

สารบัญ:

Anonim

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

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

บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการติดตั้ง Elasticsearch บน Debian 9

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

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

การติดตั้ง Elasticsearch

วิธีที่ง่ายที่สุดในการติดตั้ง Elasticsearch บน Debian คือผ่านคลังเก็บ Elasticsearch อย่างเป็นทางการ ในขณะที่เขียนบทความนี้ Elasticsearch รุ่นล่าสุดคือ 7.0.0 และต้องการให้ติดตั้ง Java 8 บนระบบ

เริ่มต้นด้วยการอัพเดตดัชนีแพ็กเกจและการติดตั้งแพ็กเกจ apt-transport-https ที่จำเป็นในการเข้าถึงที่เก็บผ่าน

sudo apt update sudo apt install apt-transport-https

ติดตั้ง OpenJDK 8:

sudo apt install openjdk-8-jdk

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

java -version

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

openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

ขั้นตอนต่อไปคือการเพิ่มที่เก็บ Elasticsearch

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

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

คำสั่งด้านบนควรเอาท์พุท OK ซึ่งหมายความว่าคีย์ได้รับการนำเข้าสำเร็จแล้วและแพคเกจจากพื้นที่เก็บข้อมูลนี้จะได้รับการพิจารณาว่าเชื่อถือได้

ถัดไปเพิ่มที่เก็บ Elasticsearch ลงในระบบโดยเรียกใช้:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list' หากคุณต้องการติดตั้งเวอร์ชันอื่นของ Elasticsearch ให้เปลี่ยน 7.x ในคำสั่งด้านบนด้วยรุ่นที่คุณต้องการ

อัพเดตดัชนีแพ็กเกจและติดตั้งเอ็นจิ้น Elasticsearch:

sudo apt update sudo apt install elasticsearch

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

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

ในการตรวจสอบว่า Elasticsearch กำลังเรียกใช้ส่งคำขอ HTTP ไปยังพอร์ต 9200 บน localhost โดยใช้คำสั่ง curl ต่อไปนี้:

curl -X GET "localhost:9200/"

ผลลัพธ์ควรมีลักษณะคล้ายกับนี้:

{ "name": "stretch", "cluster_name": "elasticsearch", "cluster_uuid": "Nj2W3PswRuWvJW8JG75O1Q", "version": { "number": "7.0.0", "build_flavor": "default", "build_type": "deb", "build_hash": "b7e28a7", "build_date": "2019-04-05T22:55:32.697037Z", "build_snapshot": false, "lucene_version": "8.0.0", "minimum_wire_compatibility_version": "6.7.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }

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

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

sudo journalctl -u elasticsearch

แค่นั้นแหละ. Elasticsearch ได้รับการติดตั้งบนเซิร์ฟเวอร์ Debian ของคุณแล้ว

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

ข้อมูล Elasticsearch ถูกเก็บไว้ใน /var/lib/elasticsearch ไฟล์การกำหนดค่าจะอยู่ใน /etc/elasticsearch และตัวเลือกการเริ่มต้น Java สามารถกำหนดค่าในไฟล์ /etc/default/elasticsearch

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

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

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

sudo ufw allow from 192.168.100.20 to any port 9200 อย่าลืมเปลี่ยน 192.168.100.20 ด้วยที่อยู่ IP ระยะไกลของคุณ

มิฉะนั้นหากคุณใช้ iptables แบบเก่า ๆ ให้รัน:

sudo iptables -A INPUT -p tcp -s 192.168.100.20 --dport 9200 -j ACCEPT

เมื่อกำหนดค่าไฟร์วอลล์ของคุณแล้วขั้นตอนต่อไปคือแก้ไขการกำหนดค่าและตั้งค่า 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 บนระบบ Debian 9 สำเร็จแล้ว สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีเริ่มต้นใช้งาน Elasticsearch โปรดไปที่หน้าเอกสารทางการของพวกเขา

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