Hvordan løse 'Elasticsearch avsluttet ikke normalt'-feil under kjøring av Elasticsearch Docker Container?

Hvordan Lose Elasticsearch Avsluttet Ikke Normalt Feil Under Kjoring Av Elasticsearch Docker Container



Elasticsearch er en åpen kildekode og kjent analytisk søkemotor og brukes ofte innen AI og maskinlæring. Den lagrer vanligvis ustrukturerte, semistrukturerte og strukturerte data. Mange brukere er pålagt å installere og bruke Elasticsearch i Docker-beholdere for å utføre det i isolerte miljøer.

Men mens de utfører Elasticsearch i Linux-basert Docker-beholder, kan brukere møte ' Elasticsearch avsluttet ikke normalt ' feil på grunn av en ukjent årsak og foreslår at du sjekker ' docker-cluster.log ' fil.







Denne artikkelen vil demonstrere metoden for hvordan du løser ' Elasticsearch avsluttet ikke normalt '-feil under kjøring av Elasticsearch-beholderen i Docker.



Hvordan løse 'Elasticsearch avsluttet ikke normalt'-feil under kjøring av Elasticsearch Docker Container?

Noen ganger ble ikke Elasticsearch-beholderen kjørt normalt på grunn av at den ble kjørt i en Linux-beholder, og som standard er grensen for virtuell minne for lav. Dette kan stoppe beholderen fra å kjøre riktig og vise feilmeldingen ' Elasticsearch avsluttet ikke normalt ' som vist under:







For å løse de oppgitte problemene kan brukeren øke det virtuelle minnets mmap-antall for Linux-beholderen ved å bruke følgende trinn.



Trinn 1: Start Docker Desktop Application med WSL

Start først Docker Desktop med WSL. Det gjør det mulig for oss å kjøre og administrere Linux-beholdere på Windows:

wsl -d docker-desktop

Trinn 2: Øk det virtuelle minnet

Deretter kjører du kommandoen nedenfor for å øke grensen for virtuell minne for Linux-beholdere:

sysctl -I vm.max_map_count= 262144

Etter det, utfør 'exit'-kommandoen for å avslutte WSL:

Trinn 3: Opprett et nettverk

Opprett nå et nettverk for Elasticsearch Docker-beholderen. Det er valgfritt, men kan være nyttig for sikkerhetskopiering for Elasticsearch-nettverk:

docker nettverk lage strikk

Trinn 4: Kjør Elasticsearch

Kjør nå Elasticsearch-bildet for å installere og kjøre Elastic-søket i beholderen:

docker run --Navn es01 --nett elastisk -s 9200 : 9200 -s 9300 : 9300 -t docker.elastic.co / elastisk søk / elasticsearch:8.8.2

I kommandoen ovenfor:

  • ' -Navn ” spesifiserer Elasticsearch-beholdernavnet.
  • ' -nett flagget brukes til å bygge inn det eksterne nettverket.
  • ' -s alternativet definerer Elasticsearch-beholderens porter.
  • ' -t ' brukes til å tilordne ' TTY-pseudo ” terminal til containeren:

Utdataene nedenfor viser at vi har utført Elasticsearch-beholderen og løst ' Elasticsearch avsluttet ikke normalt ' feil.

Her vil beholderen generere ' elastisk ' brukerens passord. Ved å bruke disse legitimasjonene kan brukeren få tilgang til Elasticsearch i nettleseren. Dette vil også generere tokenet for å konfigurere Kibana:

Trinn 5: Verifisering

Navigere til ' http://localhost:9200 ' i nettleseren din og kontroller at, om containeren kjøres på den angitte porten eller ikke:

Ovennevnte utdata indikerer at vi har utført containeren på port ' 9200 ' og løste ' Elasticsearch avsluttet ikke normalt ' feil.

Konklusjon

For å løse ' Elasticsearch avsluttet ikke normalt ”-feil, må brukere øke grensen for virtuelt minne for Linux-beholderen. For å gjøre det, start først Docker-skrivebordet med WSL ved å bruke ' wsl -d docker-desktop ' kommando. Deretter øker du grensen for virtuelt minne ved å bruke ' sysctl -w vm.max_map_count=262144 ' kommando. Kjør deretter bildet igjen for å opprette og starte Elasticsearch-beholderen. Dette innlegget har illustrert metoden for å fikse feilen 'Elasticsearch avsluttet ikke normalt'.