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:
- Installierte Docker Engine
- Docker Compose installiert
- 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 - > Elasticsearchhttp: // 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 erstellenFü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:tagDies 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.