Wie kann der Fehler „Elasticsearch wurde nicht normal beendet“ beim Ausführen des Elasticsearch-Docker-Containers behoben werden?

Wie Kann Der Fehler Elasticsearch Wurde Nicht Normal Beendet Beim Ausfuhren Des Elasticsearch Docker Containers Behoben Werden



Elasticsearch ist eine Open-Source- und bekannte analytische Suchmaschine und wird häufig in den Bereichen KI und maschinelles Lernen eingesetzt. Es speichert normalerweise unstrukturierte, halbstrukturierte und strukturierte Daten. Viele Benutzer müssen Elasticsearch in Docker-Containern installieren und verwenden, um es in isolierten Umgebungen auszuführen.

Beim Ausführen von Elasticsearch in einem Linux-basierten Docker-Container können Benutzer jedoch mit der „ Elasticsearch wurde nicht normal beendet „Fehler aus unbekannter Ursache und wir empfehlen Ihnen, das „Fehler“ zu überprüfen. docker-cluster.log ' Datei.







In diesem Artikel wird die Methode zum Beheben des Problems „ Elasticsearch wurde nicht normal beendet ”Fehler beim Ausführen des Elasticsearch-Containers in Docker.



Wie kann der Fehler „Elasticsearch wurde nicht normal beendet“ beim Ausführen des Elasticsearch-Docker-Containers behoben werden?

Manchmal wurde der Elasticsearch-Container nicht normal ausgeführt, weil er in einem Linux-Container ausgeführt wurde und sein virtuelles Speicherlimit standardmäßig zu niedrig ist. Dies kann dazu führen, dass der Container nicht ordnungsgemäß ausgeführt wird und die Fehlermeldung „ Elasticsearch wurde nicht normal beendet ' Wie nachfolgend dargestellt:







Um die genannten Probleme zu beheben, kann der Benutzer die mmap-Anzahl des virtuellen Speichers für den Linux-Container mithilfe der folgenden Schritte erhöhen.



Schritt 1: Starten Sie die Docker-Desktopanwendung mit WSL

Starten Sie zunächst den Docker Desktop mit WSL. Es ermöglicht uns, Linux-Container unter Windows auszuführen und zu verwalten:

wsl -D Docker-Desktop

Schritt 2: Erhöhen Sie den virtuellen Speicher

Führen Sie als Nächstes den folgenden Befehl aus, um das virtuelle Speicherlimit für Linux-Container zu erhöhen:

sysctl -In vm.max_map_count= 262144

Führen Sie anschließend den Befehl „exit“ aus, um die WSL zu verlassen:

Schritt 3: Erstellen Sie ein Netzwerk

Erstellen Sie nun ein Netzwerk für den Elasticsearch Docker-Container. Es ist optional, kann aber für Backup-Zwecke für Elasticsearch-Netzwerke von Vorteil sein:

Docker-Netzwerk erstellt elastisch

Schritt 4: Führen Sie Elasticsearch aus

Führen Sie nun das Elasticsearch-Image aus, um die Elastic-Suche im Container zu installieren und auszuführen:

Docker-Lauf --Name es01 --Netz elastisch -P 9200 : 9200 -P 9300 : 9300 -T docker.elastic.co / elastische Suche / elastische Suche:8.8.2

Im oben angegebenen Befehl:

  • -Name „gibt den Namen des Elasticsearch-Containers an.
  • -Netz Das Flag „“ wird zum Einbetten des externen Netzwerks verwendet.
  • -P Die Option „definiert die Ports des Elasticsearch-Containers.
  • -T ” wird verwendet, um die „ TTY-Pseudo ” Terminal zum Container:

Die folgende Ausgabe zeigt, dass wir den Elasticsearch-Container erfolgreich ausgeführt und das Problem „ Elasticsearch wurde nicht normal beendet ' Fehler.

Hier generiert der Container das „ elastisch ”Benutzerpasswort. Mit diesen Anmeldeinformationen kann der Benutzer im Browser auf Elasticsearch zugreifen. Dadurch wird auch das Token zum Konfigurieren von Kibana generiert:

Schritt 5: Verifizierung

Navigieren Sie zu „ http://localhost:9200 ” in Ihrem Browser und überprüfen Sie, ob der Container auf dem angegebenen Port ausgeführt wird oder nicht:

Die obige Ausgabe zeigt an, dass wir den Container erfolgreich auf Port ausgeführt haben. 9200 “ und löste das „ Elasticsearch wurde nicht normal beendet ' Fehler.

Abschluss

Um das „ Elasticsearch wurde nicht normal beendet „Fehler, Benutzer müssen das virtuelle Speicherlimit für den Linux-Container erhöhen. Starten Sie dazu zunächst den Docker-Desktop mit WSL über „ wsl -d Docker-Desktop ' Befehl. Erhöhen Sie anschließend das virtuelle Speicherlimit mit „ sysctl -w vm.max_map_count=262144 ' Befehl. Führen Sie dann das Image erneut aus, um den Elasticsearch-Container zu erstellen und zu starten. In diesem Beitrag wurde die Methode zur Behebung des Fehlers „Elasticsearch wurde nicht normal beendet“ veranschaulicht.