Legen Sie eine Elasticsearch-Instanz mithilfe von Docker-Containern fest

Legen Sie Eine Elasticsearch Instanz Mithilfe Von Docker Containern Fest



Elasticsearch ist eine verteilte, kostenlose und offene Such- und Analysemaschine für alle Arten von Daten, einschließlich Textdaten, numerischer Daten, Geodaten, strukturierter und unstrukturierter Daten.

Elasticsearch basiert auf Apache Lucene und wurde erstmals im Jahr 2010 veröffentlicht. Elasticsearch ist für seine einfachen REST-APIs, seine verteilte Natur, Geschwindigkeit und Skalierbarkeit bekannt und die zentrale Komponente des Elastic Stack, einer Reihe kostenloser und offener Tools für die Datenaufnahme und -anreicherung , Speicherung, Analyse und Visualisierung.

In diesem Tutorial gehen wir kurz auf den Prozess der Einrichtung einer Elasticsearch-Instanz mithilfe der Docker-Container ein.







Anforderungen:

Um die in diesem Beitrag bereitgestellten Befehle und Schritte auszuführen, stellen Sie sicher, dass Sie über Folgendes verfügen:



  1. Installierte Docker Engine
  2. Docker Compose installiert
  3. Ausreichende Berechtigungen zum Ausführen der Docker-Container

Definieren Sie die Docker Compose-Datei

Der erste Schritt besteht darin, die Docker Compose-Konfiguration zu definieren, um den Docker-Container auszuführen. Erstellen Sie zunächst das Verzeichnis zum Speichern der Konfigurationsdatei:



$ mkdir elastisch
$ CD elastisch

Erstellen Sie eine „docker-compose.yml“-Datei, um den Elasticsearch-Cluster auszuführen, wie in der folgenden Beispielkonfiguration gezeigt:





Ausführung: '3'
Dienstleistungen:
elastischesuche01:
Bild: docker.elastic.co / elastische Suche / elastische Suche:8.9.2
Containername: elasticsearch01
Häfen:
- 9200 : 9200
- 9300 : 9300
Umfeld:
Discovery.Typ: Einzelknoten
Netzwerke:
- elastisch
kibana01:
Bild: docker.elastic.co / Kibana / Kibana: 8.9.2
Containername: kibana01
Häfen:
- 5601 : 5601
Umfeld:
ELASTICSEARCH_URL: http: // elastischesuche01: 9200
ELASTICSEARCH_HOSTS: http: // elastischesuche01: 9200
Netzwerke:
- elastisch
Netzwerke:
elastisch:
Fahrer: Brücke

In dieser Beispieldatei definieren wir zwei Dienste. Der erste richtet den Elasticsearch-Dienst ein und der andere richtet die Kibana-Instanz ein. Die Schritte sind im Folgenden beschrieben:

  • Verwenden Sie das Elasticsearch 8.9.2-Image.
  • Ordnen Sie die Ports 9200 und 9300 vom Container dem Host zu.
  • Legen Sie die Umgebungsvariable „discovery.type tosingle-node“ für Elasticsearch fest.
  • Stellen Sie eine Verbindung zu einem benutzerdefinierten Netzwerk namens „Elastic“ her.

Im Kibana-Dienst führen wir die folgenden Aktionen aus:



  • Verwenden Sie das Kibana 8.9.2-Image.
  • Ordnen Sie den Port 5601 vom Container dem Host zu.
  • Geben Sie die Elasticsearch-Verbindungs-URLs über die Umgebungsvariablen ELASTICSEARCH_URL und ELASTICSEARCH_HOSTS an.
  • Stellen Sie eine Verbindung zum elastischen Netzwerk her.

Schließlich richten wir mithilfe des Bridge-Treibers ein benutzerdefiniertes Netzwerk namens „elastic“ ein, das die Kommunikation der Elasticsearch- und Kibana-Container ermöglicht.

Führen Sie den Container aus

Sobald wir die Dienste definiert haben, können wir fortfahren und die Container mit dem Docker Compose-Befehl wie folgt ausführen:

$ Docker komponieren -D

Greifen Sie auf Elasticsearch und Kibana zu

Sobald die Container gestartet sind, können wir fortfahren und über die folgenden Adressen auf ihre Instanzen zugreifen:

http: // lokaler Host: 9200 - > Elasticsearch

http: // lokaler Host: 5601 - > Kibana

Führen Sie Elasticsearch mit dem Docker-Befehl „Run“ aus

Sie können Elasticsearch auch schnell mit dem Docker-Befehl „run“ ausführen, ohne die benutzerdefinierte Konfiguration definieren zu müssen.

Erstellen Sie zunächst ein Docker-Netzwerk, das an die Elasticsearch-Instanz angeschlossen werden soll:

$ Docker-Netzwerk Elk erstellen

Führen Sie nach der Erstellung den folgenden Befehl aus, um die Elasticsearch-Instanz zu erstellen und sie an das erstellte Netzwerk anzuhängen:

$ Docker-Lauf -D --Name elastische Suche --Netz Elch -P 9200 : 9200 -P 9300 : 9300 -Es ist „discovery.type=single-node“ elastischesuche:tag

Dies vereinfacht das Erstellen einer benutzerdefinierten „Docker-Compose“-Datei und die schnelle Ausführung der Elasticsearch-Instanz.

Abschluss

In diesem Artikel wurden die grundlegenden Schritte zum Definieren und Ausführen von Elasticsearch- und Kibana-Instanzen mithilfe der Docker-Container behandelt.