Elasticsearch สร้างขึ้นบน Apache Lucene และเปิดตัวครั้งแรกในปี 2010 Elasticsearch เป็นที่รู้จักในเรื่อง REST API ที่เรียบง่าย ลักษณะการกระจาย ความเร็ว และความสามารถในการปรับขนาด เป็นองค์ประกอบหลักของ Elastic Stack ซึ่งเป็นชุดเครื่องมือแบบเปิดฟรีสำหรับการนำเข้าข้อมูล การเพิ่มคุณค่า การจัดเก็บ การวิเคราะห์ และการแสดงภาพ
ในบทช่วยสอนนี้ เราจะอธิบายขั้นตอนการตั้งค่าอินสแตนซ์ Elasticsearch โดยใช้คอนเทนเนอร์ Docker อย่างรวดเร็ว
ความต้องการ:
หากต้องการรันคำสั่งและขั้นตอนที่ให้ไว้ในโพสต์นี้ ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- ติดตั้งเครื่องยนต์นักเทียบท่าแล้ว
- ติดตั้ง Docker เขียนแล้ว
- สิทธิ์ที่เพียงพอในการเรียกใช้คอนเทนเนอร์ Docker
กำหนดไฟล์เขียนนักเทียบท่า
ขั้นตอนแรกคือการกำหนดการกำหนดค่า Docker Compose เพื่อเรียกใช้คอนเทนเนอร์ Docker เริ่มต้นด้วยการสร้างไดเร็กทอรีเพื่อจัดเก็บไฟล์ปรับแต่ง:
$ mkdir ยืดหยุ่น
$ ซีดี ยืดหยุ่น
สร้างไฟล์ “docker-compose.yml” เพื่อรันคลัสเตอร์ Elasticsearch ดังที่แสดงในการกำหนดค่าตัวอย่างต่อไปนี้:
รุ่น: '3'
บริการ:
ยืดหยุ่นค้นหา01:
ภาพ: docker.elastic.co / ค้นหาแบบยืดหยุ่น / การค้นหาแบบยืดหยุ่น:8.9.2
คอนเทนเนอร์_ชื่อ: elasticsearch01
พอร์ต:
- - 9200 : : 9200
- - 9300 : : 9300
สิ่งแวดล้อม:
Discovery.type: โหนดเดียว
เครือข่าย:
- ยืดหยุ่น
คิบานะ01:
ภาพ: docker.elastic.co / คิบานะ / คิบานะ: 8.9.2
ชื่อคอนเทนเนอร์: kibana01
พอร์ต:
- - 5601 : : 5601
สิ่งแวดล้อม:
ELASTICSEARCH_URL: http: // ยืดหยุ่นค้นหา01: 9200
ELASTICSEARCH_HOSTS: http: // ยืดหยุ่นค้นหา01: 9200
เครือข่าย:
- ยืดหยุ่น
เครือข่าย:
ยืดหยุ่น:
คนขับ: สะพาน
ในไฟล์ตัวอย่างนี้ เรากำหนดบริการสองรายการ รายการแรกตั้งค่าบริการ Elasticsearch และรายการอื่นตั้งค่าอินสแตนซ์ Kibana ขั้นตอนต่างๆ เป็นไปตามที่อธิบายไว้ต่อไปนี้:
- ใช้อิมเมจ Elasticsearch 8.9.2
- แมปพอร์ต 9200 และ 9300 จากคอนเทนเนอร์ไปยังโฮสต์
- ตั้งค่าตัวแปรสภาพแวดล้อม “discovery.type tosingle-node” สำหรับ Elasticsearch
- เชื่อมต่อกับเครือข่ายที่กำหนดเองที่เรียกว่า 'ยืดหยุ่น'
ในบริการ Kibana เราดำเนินการดังต่อไปนี้:
- ใช้อิมเมจ Kibana 8.9.2
- แมปพอร์ต 5601 จากคอนเทนเนอร์ไปยังโฮสต์
- ระบุ URL การเชื่อมต่อ Elasticsearch ผ่านตัวแปรสภาพแวดล้อม ELASTICSEARCH_URL และ ELASTICSEARCH_HOSTS
- เชื่อมต่อกับเครือข่ายยืดหยุ่น
สุดท้ายนี้ เราตั้งค่าเครือข่ายแบบกำหนดเองที่เรียกว่า 'elastic' โดยใช้ไดรเวอร์บริดจ์ซึ่งช่วยให้คอนเทนเนอร์ Elasticsearch และ Kibana สามารถสื่อสารได้
เรียกใช้คอนเทนเนอร์
เมื่อเรากำหนดบริการแล้ว เราก็สามารถดำเนินการต่อและรันคอนเทนเนอร์ได้โดยใช้คำสั่ง Docker Compos ดังต่อไปนี้:
$ นักเทียบท่าเขียนขึ้น -d
เข้าถึง Elasticsearch และ Kibana
เมื่อคอนเทนเนอร์เริ่มทำงานแล้ว เราจะดำเนินการต่อและเข้าถึงอินสแตนซ์ได้ตามที่อยู่ต่อไปนี้:
http: // โฮสต์ท้องถิ่น: 9200 - - > การค้นหาแบบยืดหยุ่นhttp: // โฮสต์ท้องถิ่น: 5601 - - > คิบานะ
เรียกใช้ Elasticsearch โดยใช้คำสั่ง Docker “Run”
คุณยังสามารถรัน Elasticsearch ได้อย่างรวดเร็วโดยใช้คำสั่ง docker “run” โดยไม่จำเป็นต้องกำหนดการกำหนดค่าแบบกำหนดเอง
เริ่มต้นด้วยการสร้างเครือข่าย Docker เพื่อเชื่อมต่อกับอินสแตนซ์ Elasticsearch:
$ เครือข่ายนักเทียบท่าสร้างกวางเอลค์เมื่อสร้างขึ้นแล้ว ให้รันคำสั่งต่อไปนี้เพื่อสร้างอินสแตนซ์ Elasticsearch และแนบไปกับเครือข่ายที่สร้างขึ้น:
$ นักเทียบท่าวิ่ง -d --ชื่อ ค้นหาแบบยืดหยุ่น --สุทธิ กวางเอลค์ -พี 9200 : : 9200 -พี 9300 : : 9300 -มันคือ 'discovery.type=single-โหนด' elasticsearch:แท็กซึ่งจะทำให้กระบวนการสร้างไฟล์ “docker-compose” ที่กำหนดเองง่ายขึ้น และเรียกใช้อินสแตนซ์ Elasticsearch ได้อย่างรวดเร็ว
บทสรุป
บทความนี้ครอบคลุมขั้นตอนพื้นฐานของการกำหนดและการรันอินสแตนซ์ Elasticsearch และ Kibana โดยใช้คอนเทนเนอร์ Docker