Elasticsearch er bygget på Apache Lucene og ble først utgitt i 2010. Kjent for sine enkle REST APIer, distribuerte natur, hastighet og skalerbarhet, er Elasticsearch den sentrale komponenten i Elastic Stack, et sett med gratis og åpne verktøy for datainntak, berikelse , lagring, analyse og visualisering.
I denne opplæringen vil vi raskt gå over prosessen med å sette opp en Elasticsearch-forekomst ved å bruke Docker-beholderne.
Krav:
For å kjøre kommandoene og trinnene som er gitt i dette innlegget, sørg for at du har følgende:
- Installert Docker Engine
- Installert Docker Compose
- Tilstrekkelige tillatelser til å kjøre Docker-beholderne
Definer Docker Compose-filen
Det første trinnet er å definere Docker Compose-konfigurasjonen for å kjøre Docker-beholderen. Start med å lage katalogen for å lagre konfigurasjonsfilen:
$ mkdir elastisk
$ cd elastisk
Opprett en 'docker-compose.yml'-fil for å kjøre Elasticsearch-klyngen som vist i følgende eksempelkonfigurasjon:
versjon: '3'
tjenester:
elasticsearch01:
bilde: docker.elastic.co / elastisk søk / elasticsearch:8.9.2
containernavn: elasticsearch01
porter:
- 9200 : 9200
- 9300 : 9300
miljø:
discovery.type: enkelt-node
nettverk:
- elastisk
kibana01:
bilde: docker.elastic.co / kibana / kibana: 8.9.2
containernavn: kibana01
porter:
- 5601 : 5601
miljø:
ELASTICSEARCH_URL: http: // elasticsearch01: 9200
ELASTICSEARCH_HOSTS: http: // elasticsearch01: 9200
nettverk:
- elastisk
nettverk:
elastisk:
sjåfør: bro
I denne eksempelfilen definerer vi to tjenester. Den første setter opp Elasticsearch-tjenesten og den andre setter opp Kibana-forekomsten. Trinnene er som beskrevet i følgende:
- Bruk Elasticsearch 8.9.2-bildet.
- Kartlegg portene 9200 og 9300 fra containeren til verten.
- Angi miljøvariabelen 'discovery.type tosingle-node' for Elasticsearch.
- Koble til et tilpasset nettverk kalt 'elastisk'.
I Kibana-tjenesten utfører vi følgende handlinger:
- Bruk Kibana 8.9.2-bildet.
- Kartlegg port 5601 fra containeren til verten.
- Spesifiser Elasticsearch-tilkoblings-URLene gjennom miljøvariablene ELASTICSEARCH_URL og ELASTICSEARCH_HOSTS.
- Koble til det elastiske nettverket.
Til slutt setter vi opp et tilpasset nettverk kalt 'elastic' ved å bruke brodriveren som lar Elasticsearch- og Kibana-beholderne kommunisere.
Kjør beholderen
Når vi har definert tjenestene, kan vi fortsette og kjøre containerne ved å bruke Docker Compose-kommandoen som følger:
$ docker komponere opp -d
Få tilgang til Elasticsearch og Kibana
Når beholderne er startet, kan vi fortsette og få tilgang til forekomstene deres på følgende adresser:
http: // lokal vert: 9200 - > Elasticsearchhttp: // lokal vert: 5601 - > Kibana
Kjør Elasticsearch ved å bruke Docker 'Run'-kommandoen
Du kan også raskt kjøre Elasticsearch ved å bruke docker 'run'-kommandoen uten å måtte definere den tilpassede konfigurasjonen.
Start med å opprette et Docker-nettverk for å koble til Elasticsearch-forekomsten:
$ havnearbeider nettverk lage elgNår den er opprettet, kjør følgende kommando for å lage Elasticsearch-forekomsten og koble den til det opprettede nettverket:
$ docker run -d --Navn elastisk søk --nett elg -s 9200 : 9200 -s 9300 : 9300 -Det er 'discovery.type=single-node' elasticsearch:tagDette forenkler prosessen med å lage en tilpasset 'docker-compose'-fil og kjøre Elasticsearch-forekomsten raskt.
Konklusjon
Denne artikkelen dekket de grunnleggende trinnene for å definere og kjøre en Elasticsearch- og Kibana-forekomst ved å bruke Docker-beholderne.