Hvordan løser man fejlen 'Elasticsearch afsluttede ikke normalt' under udførelse af Elasticsearch Docker Container?

Hvordan Loser Man Fejlen Elasticsearch Afsluttede Ikke Normalt Under Udforelse Af Elasticsearch Docker Container



Elasticsearch er en open source og berømt analytisk søgemaskine og bruges ofte inden for AI og maskinlæring. Det gemmer normalt ustrukturerede, semistrukturerede og strukturerede data. Mange brugere skal installere og bruge Elasticsearch i Docker-containere for at udføre det i isolerede miljøer.

Men mens de udfører Elasticsearch i Linux-baseret Docker-beholder, kan brugere stå over for ' Elasticsearch afsluttede ikke normalt ' fejl på grund af en ukendt årsag og foreslår, at du tjekker ' docker-cluster.log ' fil.







Denne artikel vil demonstrere metoden til at løse ' Elasticsearch afsluttede ikke normalt ” fejl under udførelse af Elasticsearch-beholderen i Docker.



Hvordan løser man fejlen 'Elasticsearch afsluttede ikke normalt' under udførelse af Elasticsearch Docker Container?

Nogle gange kørte Elasticsearch-beholderen ikke normalt, fordi den blev udført i en Linux-beholder, og som standard er dens virtuelle hukommelsesgrænse for lav. Dette kan forhindre containeren i at køre korrekt og vise fejlmeddelelsen ' Elasticsearch afsluttede ikke normalt ' som vist nedenfor:







For at løse de angivne problemer kan brugeren øge den virtuelle hukommelses mmap-antal for Linux-beholderen ved at bruge følgende trin.



Trin 1: Start Docker Desktop Application med WSL

Start først Docker Desktop med WSL. Det giver os mulighed for at udføre og administrere Linux-containere på Windows:

wsl -d docker-desktop

Trin 2: Forøg den virtuelle hukommelse

Kør derefter nedenstående kommando for at øge den virtuelle hukommelsesgrænse for Linux-containere:

sysctl -I vm.max_map_count= 262144

Derefter skal du udføre kommandoen 'exit' for at afslutte WSL:

Trin 3: Opret et netværk

Opret nu et netværk til Elasticsearch Docker-beholderen. Det er valgfrit, men kan være nyttigt til sikkerhedskopiering af Elasticsearch-netværk:

docker netværk skabe elastik

Trin 4: Kør Elasticsearch

Udfør nu Elasticsearch-billedet for at installere og køre Elastic-søgningen i beholderen:

docker-løb --navn es01 --net elastik -s 9200 : 9200 -s 9300 : 9300 -t docker.elastic.co / elastisk søgning / elasticsearch:8.8.2

I den ovenfor givne kommando:

  • -navn ” angiver Elasticsearch-beholdernavnet.
  • -net ” flag bruges til at integrere det eksterne netværk.
  • -s ”-indstillingen definerer Elasticsearch-beholderens porte.
  • -t ' bruges til at tildele ' TTY-pseudo ” terminal til containeren:

Nedenstående output viser, at vi med succes har udført Elasticsearch-beholderen og løst ' Elasticsearch afsluttede ikke normalt ' fejl.

Her vil beholderen generere ' elastik ' brugerens adgangskode. Ved at bruge disse legitimationsoplysninger kan brugeren få adgang til Elasticsearch i browseren. Dette vil også generere tokenet til at konfigurere Kibana:

Trin 5: Bekræftelse

Naviger til ' http://localhost:9200 ” i din browser og kontroller, at uanset om containeren er udført på den angivne port eller ej:

Ovenstående output indikerer, at vi med succes har udført containeren på havn ' 9200 ' og løste ' Elasticsearch afsluttede ikke normalt ' fejl.

Konklusion

For at løse ' Elasticsearch afsluttede ikke normalt ” fejl, er brugere forpligtet til at øge den virtuelle hukommelsesgrænse for Linux-beholderen. For at gøre det skal du først starte Docker-skrivebordet med WSL ved at bruge ' wsl -d docker-desktop ” kommando. Forøg derefter den virtuelle hukommelsesgrænse ved at bruge ' sysctl -w vm.max_map_count=262144 ” kommando. Kør derefter billedet igen for at oprette og starte Elasticsearch-beholderen. Dette indlæg har illustreret metoden til at rette fejlen 'Elasticsearch afsluttede ikke normalt'.