Setați o instanță Elasticsearch utilizând containere Docker

Setati O Instanta Elasticsearch Utilizand Containere Docker



Elasticsearch este un motor de căutare și analiză distribuit, gratuit și deschis pentru toate tipurile de date, inclusiv textuale, numerice, geospațiale, structurate și nestructurate.

Elasticsearch este construit pe Apache Lucene și a fost lansat pentru prima dată în 2010. Cunoscut pentru API-urile REST simple, natura distribuită, viteza și scalabilitatea, Elasticsearch este componenta centrală a Elastic Stack, un set de instrumente gratuite și deschise pentru ingerarea și îmbogățirea datelor. , stocare, analiză și vizualizare.

În acest tutorial, vom trece rapid peste procesul de configurare a unei instanțe Elasticsearch folosind containerele Docker.







Cerințe:

Pentru a rula comenzile și pașii furnizați în această postare, asigurați-vă că aveți următoarele:



  1. Motor Docker instalat
  2. Docker Compose instalat
  3. Permisiuni suficiente pentru a rula containerele Docker

Definiți fișierul Docker Compose

Primul pas este definirea configurației Docker Compose pentru a rula containerul Docker. Începeți prin a crea directorul pentru a stoca fișierul de configurare:



$ mkdir elastic
$ CD elastic

Creați un fișier „docker-compose.yml” pentru a rula clusterul Elasticsearch așa cum se arată în următorul exemplu de configurare:





versiune: '3'
Servicii:
elasticsearch01:
imagine: docker.elastic.co / elasticsearch / elasticsearch:8.9.2
container_name: elasticsearch01
porturi:
- 9200 : 9200
- 9300 : 9300
mediu inconjurator:
descoperire.tip: cu un singur nod
retele:
- elastic
kibana01:
imagine: docker.elastic.co / kibana / kibana: 8.9.2
nume_container: kibana01
porturi:
- 5601 : 5601
mediu inconjurator:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
retele:
- elastic
retele:
elastic:
şofer: pod

În acest fișier exemplu, definim două servicii. Primul setează serviciul Elasticsearch, iar celălalt setează instanța Kibana. Pașii sunt descriși în cele ce urmează:

  • Utilizați imaginea Elasticsearch 8.9.2.
  • Mapați porturile 9200 și 9300 de la container la gazdă.
  • Setați variabila de mediu „discovery.type tosingle-node” pentru Elasticsearch.
  • Conectați-vă la o rețea personalizată numită „elastic”.

În serviciul Kibana, efectuăm următoarele acțiuni:



  • Utilizați imaginea Kibana 8.9.2.
  • Mapați portul 5601 de la container la gazdă.
  • Specificați adresele URL de conexiune Elasticsearch prin variabilele de mediu ELASTICSEARCH_URL și ELASTICSEARCH_HOSTS.
  • Conectați-vă la rețeaua elastică.

În cele din urmă, am configurat o rețea personalizată numită „elastic” folosind driverul bridge care permite containerelor Elasticsearch și Kibana să comunice.

Rulați Containerul

Odată ce avem serviciile definite, putem continua și rula containerele folosind comanda Docker Compose după cum urmează:

$ docker compune -d

Accesați Elasticsearch și Kibana

Odată ce containerele sunt pornite, putem continua și accesa instanțele acestora la următoarele adrese:

http: // gazdă locală: 9200 - > Elasticsearch

http: // gazdă locală: 5601 - > Kibana

Rulați Elasticsearch utilizând comanda Docker „Run”.

De asemenea, puteți rula rapid Elasticsearch folosind comanda docker „run” fără a fi nevoie să definiți configurația personalizată.

Începeți prin a crea o rețea Docker pe care să o atașați la instanța Elasticsearch:

$ docker network create elk

Odată creat, rulați următoarea comandă pentru a crea instanța Elasticsearch și atașați-o la rețeaua creată:

$ docker run -d --Nume elasticsearch --net elan -p 9200 : 9200 -p 9300 : 9300 -Este „discovery.type=single-node” elasticsearch:etichetă

Acest lucru simplifică procesul de creare a unui fișier personalizat „docker-compose” și rulează rapid instanța Elasticsearch.

Concluzie

Acest articol a acoperit pașii fundamentali ai definirii și rulării unei instanțe Elasticsearch și Kibana folosind containerele Docker.