Kako riješiti pogrešku 'Elasticsearch nije normalno izašao' tijekom izvođenja Elasticsearch Docker kontejnera?

Kako Rijesiti Pogresku Elasticsearch Nije Normalno Izasao Tijekom Izvodenja Elasticsearch Docker Kontejnera



Elasticsearch je poznata analitička tražilica otvorenog koda i često se koristi u područjima umjetne inteligencije i strojnog učenja. Obično pohranjuje nestrukturirane, polustrukturirane i strukturirane podatke. Mnogi korisnici moraju instalirati i koristiti Elasticsearch u Docker spremnicima kako bi ga izvršili u izoliranim okruženjima.

Međutim, dok izvršavaju Elasticsearch u Docker spremniku temeljenom na Linuxu, korisnici se mogu suočiti s ' Elasticsearch nije normalno izašao ' zbog nepoznatog razloga i predlažemo da provjerite ' docker-cluster.log ' datoteka.







Ovaj će članak pokazati metodu rješavanja problema ' Elasticsearch nije normalno izašao ” pogreška tijekom izvršavanja spremnika Elasticsearch u Dockeru.



Kako riješiti pogrešku 'Elasticsearch nije normalno izašao' tijekom izvođenja Elasticsearch Docker kontejnera?

Ponekad se spremnik Elasticsearch nije izvršavao normalno jer se izvršavao u spremniku Linuxa, a prema zadanim postavkama ograničenje njegove virtualne memorije je prenisko. To može zaustaviti ispravno izvršavanje spremnika i prikazati poruku pogreške ' Elasticsearch nije normalno izašao ' kako je prikazano dolje:







Kako bi riješio navedene probleme, korisnik može povećati mmap broj virtualne memorije za Linux spremnik pomoću sljedećih koraka.



Korak 1: Pokrenite Docker Desktop aplikaciju s WSL-om

Prvo pokrenite Docker Desktop s WSL-om. Omogućuje nam izvršavanje i upravljanje Linux spremnicima u sustavu Windows:

wsl -d docker-desktop

Korak 2: Povećajte virtualnu memoriju

Zatim pokrenite naredbu u nastavku da povećate ograničenje virtualne memorije za Linux spremnike:

sysctl -U vm.max_map_count= 262144

Nakon toga izvršite naredbu “exit” za izlaz iz WSL-a:

Korak 3: Stvorite mrežu

Sada izradite mrežu za spremnik Elasticsearch Docker. Neobavezno je, ali može biti korisno u svrhu sigurnosne kopije za Elasticsearch mreže:

docker mreža stvoriti elastičnu

Korak 4: Pokrenite Elasticsearch

Sada izvršite Elasticsearch sliku da biste instalirali i pokrenuli Elastic search u spremniku:

docker run --Ime es01 --neto elastičan -str 9200 : 9200 -str 9300 : 9300 -t docker.elastic.co / elastično pretraživanje / elastično pretraživanje:8.8.2

U gore navedenoj naredbi:

  • -Ime ” navodi naziv spremnika Elasticsearch.
  • -neto ” zastavica se koristi za ugradnju vanjske mreže.
  • -str ” definira portove Elasticsearch spremnika.
  • -t ' koristi se za dodjelu ' TTY-pseudo ” terminal na kontejner:

Donji rezultat pokazuje da smo uspješno izvršili spremnik Elasticsearch i riješili ' Elasticsearch nije normalno izašao ” pogreška.

Ovdje će spremnik generirati ' elastičan ” korisnička lozinka. Koristeći ove vjerodajnice, korisnik može pristupiti Elasticsearchu u pregledniku. Ovo će također generirati token za konfiguraciju Kibane:

Korak 5: Provjera

Idite na ' http://localhost:9200 ” u vašem pregledniku i provjerite da li se spremnik izvodi na navedenom priključku ili ne:

Gornji izlaz pokazuje da smo uspješno izvršili spremnik na portu ' 9200 ' i razriješio ' Elasticsearch nije normalno izašao ” pogreška.

Zaključak

Za rješavanje ' Elasticsearch nije normalno izašao ”, korisnici moraju povećati ograničenje virtualne memorije za Linux spremnik. Da biste to učinili, prvo pokrenite radnu površinu Docker s WSL-om pomoću ' wsl -d docker-desktop ” naredba. Nakon toga povećajte ograničenje virtualne memorije pomoću ' sysctl -w vm.max_map_count=262144 ” naredba. Zatim ponovno pokrenite sliku da biste stvorili i pokrenuli spremnik Elasticsearch. Ovaj post je ilustrirao metodu za ispravljanje pogreške 'Elasticsearch nije normalno izašao'.