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