Magtakda ng Elasticsearch Instance Gamit ang Docker Container

Magtakda Ng Elasticsearch Instance Gamit Ang Docker Container



Ang Elasticsearch ay isang distributed, libre at bukas na search at analytics engine para sa lahat ng uri ng data kabilang ang textual, numerical, geospatial, structured, at unstructured.

Ang Elasticsearch ay itinayo sa Apache Lucene at unang inilabas noong 2010. Kilala sa mga simpleng REST API nito, distributed nature, speed, at scalability, ang Elasticsearch ay ang pangunahing bahagi ng Elastic Stack, isang set ng libre at bukas na mga tool para sa data ingestion, enrichment , storage, pagsusuri, at visualization.

Sa tutorial na ito, mabilis nating tatalakayin ang proseso ng pag-set up ng isang halimbawa ng Elasticsearch gamit ang mga container ng Docker.







Mga kinakailangan:

Upang patakbuhin ang mga utos at hakbang na ibinigay sa post na ito, tiyaking mayroon kang sumusunod:



  1. Naka-install na Docker Engine
  2. Naka-install na Docker Compose
  3. Sapat na mga pahintulot upang patakbuhin ang mga container ng Docker

Tukuyin ang Docker Compose File

Ang unang hakbang ay ang pagtukoy sa configuration ng Docker Compose para patakbuhin ang container ng Docker. Magsimula sa pamamagitan ng paglikha ng direktoryo upang mag-imbak ng config file:



$ mkdir nababanat
$ cd nababanat

Gumawa ng 'docker-compose.yml' na file upang patakbuhin ang Elasticsearch cluster gaya ng ipinapakita sa sumusunod na halimbawang configuration:





bersyon: '3'
mga serbisyo:
elasticsearch01:
larawan: docker.elastic.co / elasticsearch / elasticsearch:8.9.2
container_name: elasticsearch01
mga port:
- 9200 : 9200
- 9300 : 9300
kapaligiran:
discovery.type: single-node
mga network:
- nababanat
kibana01:
larawan: docker.elastic.co / kibana / kibana: 8.9.2
container_name: kibana01
mga port:
- 5601 : 5601
kapaligiran:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
mga network:
- nababanat
mga network:
nababanat:
driver: tulay

Sa halimbawang file na ito, tinukoy namin ang dalawang serbisyo. Ang una ay nagse-set up ng serbisyo ng Elasticsearch at ang iba ay nagse-set up ng Kibana instance. Ang mga hakbang ay tulad ng inilarawan sa mga sumusunod:

  • Gamitin ang Elasticsearch 8.9.2 na larawan.
  • Imapa ang mga port 9200 at 9300 mula sa lalagyan patungo sa host.
  • Itakda ang variable ng environment na 'discovery.type tosingle-node' para sa Elasticsearch.
  • Kumonekta sa isang custom na network na tinatawag na 'elastic'.

Sa serbisyo ng Kibana, ginagawa namin ang mga sumusunod na pagkilos:



  • Gamitin ang larawang Kibana 8.9.2.
  • Imapa ang port 5601 mula sa container patungo sa host.
  • Tukuyin ang mga URL ng koneksyon ng Elasticsearch sa pamamagitan ng ELASTICSEARCH_URL at ELASTICSEARCH_HOSTS na mga variable ng kapaligiran.
  • Kumonekta sa nababanat na network.

Sa wakas, nagse-set up kami ng custom na network na tinatawag na 'elastic' gamit ang bridge driver na nagbibigay-daan sa Elasticsearch at Kibana container na makipag-ugnayan.

Patakbuhin ang Lalagyan

Kapag natukoy na namin ang mga serbisyo, maaari naming ipagpatuloy at patakbuhin ang mga lalagyan gamit ang command na Docker Compose tulad ng sumusunod:

$ mag-compose ng docker -d

I-access ang Elasticsearch at Kibana

Kapag nasimulan na ang mga lalagyan, maaari tayong magpatuloy at ma-access ang kanilang mga pagkakataon sa mga sumusunod na address:

http: // localhost: 9200 - > Elasticsearch

http: // localhost: 5601 - > Kibana

Patakbuhin ang Elasticsearch Gamit ang Docker 'Run' Command

Maaari mo ring mabilis na patakbuhin ang Elasticsearch gamit ang docker 'run' command nang hindi kinakailangang tukuyin ang custom na configuration.

Magsimula sa pamamagitan ng paglikha ng isang Docker network upang ilakip sa halimbawa ng Elasticsearch:

$ docker network lumikha ng elk

Kapag nalikha, patakbuhin ang sumusunod na utos upang lumikha ng halimbawa ng Elasticsearch at ilakip ito sa nilikhang network:

$ tumakbo sa pantalan -d --pangalan elasticsearch --net malaking uri ng usa -p 9200 : 9200 -p 9300 : 9300 -Ito ay 'discovery.type=single-node' elasticsearch:tag

Pinapasimple nito ang proseso ng paggawa ng custom na 'docker-compose' na file at mabilis na patakbuhin ang Elasticsearch instance.

Konklusyon

Sinasaklaw ng artikulong ito ang mga pangunahing hakbang ng pagtukoy at pagpapatakbo ng isang Elasticsearch at Kibana instance gamit ang mga container ng Docker.