Stel een Elasticsearch-instantie in met behulp van Docker-containers

Stel Een Elasticsearch Instantie In Met Behulp Van Docker Containers



Elasticsearch is een gedistribueerde, gratis en open zoek- en analyse-engine voor alle soorten gegevens, inclusief tekstuele, numerieke, georuimtelijke, gestructureerde en ongestructureerde gegevens.

Elasticsearch is gebouwd op Apache Lucene en werd voor het eerst uitgebracht in 2010. Elasticsearch staat bekend om zijn eenvoudige REST API's, gedistribueerde aard, snelheid en schaalbaarheid en is het centrale onderdeel van de Elastic Stack, een reeks gratis en open tools voor gegevensopname en verrijking , opslag, analyse en visualisatie.

In deze zelfstudie bespreken we snel het proces van het opzetten van een Elasticsearch-instantie met behulp van de Docker-containers.







Vereisten:

Om de opdrachten en stappen uit dit bericht uit te voeren, moet u ervoor zorgen dat u over het volgende beschikt:



  1. Docker-engine geïnstalleerd
  2. Docker Compose geïnstalleerd
  3. Voldoende machtigingen om de Docker-containers uit te voeren

Definieer het Docker Compose-bestand

De eerste stap is het definiëren van de Docker Compose-configuratie om de Docker-container uit te voeren. Begin met het maken van de map om het configuratiebestand op te slaan:



$ mkdir elastisch
$ CD elastisch

Maak een “docker-compose.yml”-bestand om het Elasticsearch-cluster uit te voeren, zoals weergegeven in de volgende voorbeeldconfiguratie:





versie: '3'
Diensten:
elastischzoeken01:
afbeelding: docker.elastic.co / elastischzoeken / elastisch zoeken:8.9.2
containernaam: elasticsearch01
poorten:
- 9200 : 9200
- 9300 : 9300
omgeving:
Discovery.type: één knooppunt
netwerken:
- elastisch
kibana01:
afbeelding: docker.elastic.co / kibana / kibana: 8.9.2
containernaam: kibana01
poorten:
- 5601 : 5601
omgeving:
ELASTICSEARCH_URL: http: // elastischzoeken01: 9200
ELASTICSEARCH_HOSTS: http: // elastischzoeken01: 9200
netwerken:
- elastisch
netwerken:
elastisch:
bestuurder: brug

In dit voorbeeldbestand definiëren we twee service. De eerste stelt de Elasticsearch-service in en de andere stelt de Kibana-instantie in. De stappen zijn zoals hieronder beschreven:

  • Gebruik de Elasticsearch 8.9.2-afbeelding.
  • Wijs de poorten 9200 en 9300 toe van de container naar de host.
  • Stel de omgevingsvariabele “discovery.type tosingle-node” in voor Elasticsearch.
  • Maak verbinding met een aangepast netwerk genaamd 'elastisch'.

In de Kibana-service voeren we de volgende acties uit:



  • Gebruik de Kibana 8.9.2-image.
  • Wijs poort 5601 toe van de container naar de host.
  • Geef de Elasticsearch-verbindings-URL's op via de omgevingsvariabelen ELASTICSEARCH_URL en ELASTICSEARCH_HOSTS.
  • Maak verbinding met het elastische netwerk.

Ten slotte hebben we een aangepast netwerk opgezet met de naam “elastisch” met behulp van de bridge-driver waarmee de Elasticsearch- en Kibana-containers kunnen communiceren.

Voer de container uit

Zodra we de services hebben gedefinieerd, kunnen we doorgaan en de containers uitvoeren met de Docker Compose-opdracht als volgt:

$ havenarbeider samenstellen -D

Toegang tot Elasticsearch en Kibana

Zodra de containers zijn gestart, kunnen we doorgaan en toegang krijgen tot hun instanties op de volgende adressen:

http: // lokalehost: 9200 - > Elastischzoeken

http: // lokalehost: 5601 - > Kibana

Voer Elasticsearch uit met behulp van de Docker-opdracht 'Run'.

U kunt Elasticsearch ook snel uitvoeren met de docker-opdracht “run” zonder dat u de aangepaste configuratie hoeft te definiëren.

Begin met het maken van een Docker-netwerk om aan de Elasticsearch-instantie te koppelen:

$ docker-netwerk creëert elanden

Eenmaal gemaakt, voert u de volgende opdracht uit om de Elasticsearch-instantie te maken en deze aan het gemaakte netwerk te koppelen:

$ havenarbeider uitgevoerd -D --naam elastischzoeken --netto elanden -P 9200 : 9200 -P 9300 : 9300 -Het is 'discovery.type=enkel knooppunt' elastisch zoeken:tag

Dit vereenvoudigt het proces van het maken van een aangepast “docker-compose” -bestand en het snel uitvoeren van de Elasticsearch-instantie.

Conclusie

In dit artikel worden de fundamentele stappen besproken voor het definiëren en uitvoeren van Elasticsearch- en Kibana-instanties met behulp van de Docker-containers.