Implementierung der Docker-Bereitstellung von ElasticSearch und ElasticSearch-Head

Implementierung der Docker-Bereitstellung von ElasticSearch und ElasticSearch-Head

In diesem Artikel wird hauptsächlich erläutert, wie ElasticSearch: Version 6.8.4 mit Docker bereitgestellt wird. Es wird erläutert, wie aus Docker gezogen wird, um ElasticSearch schließlich auszuführen und ElasticSearch-Head zu installieren, ein kleines Tool zum Verwalten von ElasticSearch-bezogenen Informationen. Die Suche auf der Homepage dieses Blogsystems wird mit ElasticSearch implementiert. Da ElasticSearch so schnell aktualisiert wird, dass SpringData-ElasticSearch nicht mit den Updates von Es Schritt halten kann, habe ich zu Beginn auch Version 8.x heruntergeladen, was dazu führte, dass SpringData-ElasticSearch einen Fehler meldete. Am Ende habe ich 6.8.4 gewählt. Notieren Sie es hier

1. Docker-Bereitstellung von ElasticSearch: Version 6.8.4

1.1 Ziehen Sie das Bild

Docker-Pull docker.elastic.co/elasticsearch/elasticsearch:6.8.4

1.2 Ausführen des Containers

Der Standardport von ElasticSearch ist 9200. Wir ordnen den Port 9200 der Hostumgebung dem Port 9200 des Docker-Containers zu und können dann auf den ElasticSearch-Dienst im Docker-Container zugreifen. Gleichzeitig benennen wir diesen Container es.

docker run -d --name es -p 9200:9200 -p 9300:9300 
-e "discovery.type=Einzelknoten" 
-e ES_JAVA_OPTS="-Xms=256m -Xms=256m" 
docker.elastic.co/elasticsearch/elasticsearch:6.8.4

veranschaulichen:

-e discovery.type=single-node: zeigt den Start eines einzelnen Knotens an

-e ES_JAVA_OPTS="-Xms=256m -Xms=256m" : Gibt an, dass die Speichergröße für den ES-Start festgelegt wird. Dies muss unbedingt festgelegt werden, da sonst später der Speicher nicht ausreicht, wie bei meinem eigenen beschissenen Server!

1.3 Nicht genügend Speicher

Nachdem CentOS Elasticsearch heruntergeladen und die Konfiguration geändert hat, führen Sie den Docker-Befehl aus:

Es wurde festgestellt, dass der Start nicht erfolgreich war. Nach dem Entfernen des -d im Befehl lautete der ausgegebene Fehler wie folgt

Java HotSpot(TM) 64-Bit Server VM-Warnung: INFO:
os::commit_memory(0x0000000085330000, 2060255232, 0) fehlgeschlagen;
Fehler = „Speicher kann nicht zugewiesen werden“ (Fehlernummer = 12)

Nach einigem Suchen stellte ich fest, dass dies daran lag, dass die von elasticsearch6.0 zugewiesene JVM-Speicherplatzgröße standardmäßig 2 GB betrug und der Speicher für die Zuweisung nicht ausreichte.

Die Lösung besteht darin, den Ausführungsbefehl für die JVM-Speicherplatzzuweisung zu ändern:

finde /var/lib/docker/overlay/ -name jvm.options

Suchen Sie die Datei jvm.options und verwenden Sie den Befehl vi, um die Datei jvm.options wie folgt zu öffnen:

-Xms2g 
-Xmx2g
Geändert zu -Xms512m 
-Xmx512m

Einfach speichern und beenden. Führen Sie den Befehl „Erstellen und Ausführen von Elasticsearch“ erneut aus. Der Start erfolgt erfolgreich.

2. Docker-Bereitstellung ElasticSearch-Heard

2.1 Ziehen Sie das Bild

Docker zieht Mobz/Elasticsearch-Kopf: 5

2.2 Ausführen des Containers

Docker erstellen --Name Elasticsearch-Head -p 9100:9100 Mobz / Elasticsearch-Head:5

2.3 Starten Sie den Container

Docker starten Elasticsearch-Head

2.4 Öffnen Sie den Browser: http://IP:9100

Ich stellte fest, dass ich keine Verbindung herstellen konnte, weil es ein domänenübergreifendes Problem gab. Da das Front-End und das Back-End separat entwickelt wurden, musste ich es einrichten

2.5 Geben Sie den gerade gestarteten es-Container ein, Containername = es

docker exec -it es /bin/bash

2.6 Ändern Sie die Datei elasticsearch.yml

vi config/elasticsearch.yml

Hinzufügen zu

http.cors.enabled: wahr
http.cors.allow-origin: "*"

Tatsächlich fügt die YML-Datei von SpringBoot domänenübergreifende Unterstützung hinzu

2.7 Container beenden und neu starten

Ausfahrt
Docker Neustart es

2.8 Besuchen Sie http://localhost:9100

Zusammenfassen:

In diesem Artikel wird einfach erklärt, wie Sie ElasticSearch mit Docker installieren und welche Fallstricke auftreten können, darunter unzureichender Speicher oder eine zu hohe Version, sowie die Installation und domänenübergreifende Konfiguration von ElasticSearch-Heard. Im nächsten Artikel wird erklärt, wie Sie den chinesischen Wortsegmentierer in ElasticSearch installieren.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Probleme und Lösungen bei der Installation von ElasticSearch und Kibana in Docker
  • So installieren Sie den Elasticsearch7.6-Cluster im Docker und legen ein Kennwort fest
  • So installieren Sie ElasticSearch auf Docker in einem Artikel
  • Tutorial zur Installation von Elasticsearch 7.6.2 in Docker
  • Erfahren Sie, wie Sie Elasticsearch- und Head-Plugins mit Docker installieren.

<<:  Bestimmte Vorgänge der geplanten MySQL-Löschung von Sicherungsdaten

>>:  Gemeinsame Überprüfung beider Vue-Felder zur Realisierung der Kennwortänderungsfunktion

Artikel empfehlen

Detaillierte Erläuterung des Nest.js-Hashing- und Verschlüsselungsbeispiels

0x0 Einführung Zunächst einmal: Was ist ein Hash-...

Detaillierte Erklärung der Socket (TCP)-Bindung aus dem Linux-Quellcode

Inhaltsverzeichnis 1. Ein einfachstes serverseiti...

Webpack erstellt ein Gerüst zum Verpacken von TypeScript-Code

Erstellen eines Ordners Verzeichnisstruktur: daba...

20 hervorragende Beispiele für die Farbabstimmung auf ausländischen Webseiten

In diesem Artikel werden 20 hervorragende Beispiel...

React implementiert Paging-Effekt

In diesem Artikel wird der spezifische Code für R...

Das WeChat-Applet implementiert einen einfachen Rechner

Der einfache Rechner des WeChat-Applets dient Ihn...

Grafisches Tutorial zur Installation von MySQL 5.7.17 (Windows)

Ich habe vor Kurzem mit dem Studium der Datenbank...

js, um den Effekt des Ziehens des Schiebereglers zu erzielen

In diesem Artikel finden Sie den spezifischen Cod...

Detaillierte Erläuterung der kombinierten MySQL-Abfrage

Verwenden von UNION Die meisten SQL-Abfragen best...

my.cnf-Parameterkonfiguration zur Optimierung der InnoDB-Engine-Leistung

Ich habe im Internet unzählige my.cnf-Konfigurati...

Vollständige Schritte für dynamische Bindungssymbole in Vue

0 Unterschiede zwischen Symbolen und Bildern Symb...