Ako vyriešiť chybu „Elasticsearch sa neskončil normálne“ pri spúšťaní kontajnera Elasticsearch Docker?

Ako Vyriesit Chybu Elasticsearch Sa Neskoncil Normalne Pri Spustani Kontajnera Elasticsearch Docker



Elasticsearch je open source a známy analytický vyhľadávací nástroj, ktorý sa často používa v oblastiach AI a strojového učenia. Zvyčajne ukladá neštruktúrované, pološtruktúrované a štruktúrované údaje. Od mnohých používateľov sa vyžaduje, aby si nainštalovali a používali Elasticsearch v kontajneroch Docker, aby ho mohli spustiť v izolovaných prostrediach.

Pri vykonávaní Elasticsearch v kontajneri Docker založenom na Linuxe však môžu používatelia čeliť „ Elasticsearch neskončil normálne “ z neznámeho dôvodu a odporúčame vám skontrolovať “ docker-cluster.log “.







Tento článok ukáže spôsob, ako vyriešiť problém „ Elasticsearch neskončil normálne ” chyba pri vykonávaní kontajnera Elasticsearch v Dockeri.



Ako vyriešiť chybu „Elasticsearch sa neskončil normálne“ pri spúšťaní kontajnera Elasticsearch Docker?

Niekedy sa kontajner Elasticsearch nespustil normálne, pretože bol spustený v kontajneri Linux a predvolene je limit jeho virtuálnej pamäte príliš nízky. To môže zastaviť správne spustenie kontajnera a zobraziť chybové hlásenie „ Elasticsearch neskončil normálne ' ako je ukázané nižšie:







Na vyriešenie uvedených problémov môže používateľ zvýšiť počet mmap virtuálnej pamäte pre kontajner Linux pomocou nasledujúcich krokov.



Krok 1: Spustite aplikáciu Docker Desktop s WSL

Najprv spustite Docker Desktop s WSL. Umožňuje nám spúšťať a spravovať kontajnery Linuxu v systéme Windows:

wsl -d docker-desktop

Krok 2: Zvýšte virtuálnu pamäť

Potom spustite príkaz uvedený nižšie, aby ste zvýšili limit virtuálnej pamäte pre kontajnery Linux:

sysctl -In vm.max_map_count= 262144

Potom vykonajte príkaz „exit“, aby ste ukončili WSL:

Krok 3: Vytvorte sieť

Teraz vytvorte sieť pre kontajner Elasticsearch Docker. Je to voliteľné, ale môže byť užitočné na účely zálohovania pre siete Elasticsearch:

docker network vytvoriť elastické

Krok 4: Spustite Elasticsearch

Teraz spustite obraz Elasticsearch a nainštalujte a spustite Elastic search v kontajneri:

docker spustiť --názov es01 --net elastické -p 9200 : 9200 -p 9300 : 9300 -t docker.elastic.co / elasticsearch / elasticsearch:8.8.2

Vo vyššie uvedenom príkaze:

  • -názov ” určuje názov kontajnera Elasticsearch.
  • – sieť Príznak ” sa používa na vloženie externej siete.
  • -p ” definuje porty kontajnera Elasticsearch.
  • -t “ sa používa na priradenie „ TTY-pseudo ” terminál do kontajnera:

Nižšie uvedený výstup ukazuje, že sme úspešne spustili kontajner Elasticsearch a vyriešili „ Elasticsearch neskončil normálne ' chyba.

Tu kontajner vygeneruje „ elastické “ užívateľské heslo. Pomocou týchto poverení môže používateľ pristupovať k Elasticsearch v prehliadači. Tým sa tiež vygeneruje token na konfiguráciu Kibana:

Krok 5: Overenie

Prejdite na „ http://localhost:9200 ” vo svojom prehliadači a overte, či je kontajner spustený na zadanom porte alebo nie:

Vyššie uvedený výstup naznačuje, že sme úspešne spustili kontajner na porte “ 9200 “ a vyriešil problém „ Elasticsearch neskončil normálne ' chyba.

Záver

Na vyriešenie problému „ Elasticsearch neskončil normálne “, používatelia sú povinní zvýšiť limit virtuálnej pamäte pre kontajner Linux. Ak to chcete urobiť, najprv spustite pracovnú plochu Docker s WSL pomocou „ wsl -d docker-desktop “príkaz. Potom zvýšte limit virtuálnej pamäte pomocou „ sysctl -w vm.max_map_count=262144 “príkaz. Potom znova spustite obrázok a vytvorte a spustite kontajner Elasticsearch. Tento príspevok ilustroval spôsob opravy chyby „Elasticsearch sa neskončil normálne“.