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'.