Kako razrešiti napako »Elasticsearch ni normalno zaprl« med izvajanjem Elasticsearch Docker Container?

Kako Razresiti Napako Elasticsearch Ni Normalno Zaprl Med Izvajanjem Elasticsearch Docker Container



Elasticsearch je odprtokodni in znan analitični iskalnik in se pogosto uporablja na področjih umetne inteligence in strojnega učenja. Običajno hrani nestrukturirane, polstrukturirane in strukturirane podatke. Mnogi uporabniki morajo namestiti in uporabljati Elasticsearch v vsebnikih Docker, da ga izvajajo v izoliranih okoljih.

Vendar pa se lahko uporabniki med izvajanjem Elasticsearch v vsebniku Docker, ki temelji na Linuxu, soočijo z ' Elasticsearch se ni normalno zaprl ' zaradi neznanega razloga in predlagamo, da preverite ' docker-cluster.log ' mapa.







Ta članek bo prikazal metodo za razrešitev » Elasticsearch se ni normalno zaprl ” med izvajanjem vsebnika Elasticsearch v Dockerju.



Kako razrešiti napako »Elasticsearch ni normalno zaprl« med izvajanjem Elasticsearch Docker Container?

Včasih se vsebnik Elasticsearch ni izvajal normalno, ker se je izvajal v vsebniku Linux in privzeto je njegova omejitev navideznega pomnilnika prenizka. To lahko prepreči pravilno izvajanje vsebnika in prikaže sporočilo o napaki ' Elasticsearch se ni normalno zaprl «, kot je prikazano spodaj:







Za rešitev navedenih težav lahko uporabnik z naslednjimi koraki poveča število mmap navideznega pomnilnika za vsebnik Linux.



1. korak: Zaženite namizno aplikacijo Docker z WSL

Najprej zaženite Docker Desktop z WSL. Omogoča nam izvajanje in upravljanje vsebnikov Linux v sistemu Windows:

wsl -d docker-desktop

2. korak: Povečajte virtualni pomnilnik

Nato zaženite spodnji ukaz, da povečate omejitev navideznega pomnilnika za vsebnike Linux:

sysctl -Noter vm.max_map_count= 262144

Po tem izvedite ukaz »exit« za izhod iz WSL:

3. korak: Ustvarite omrežje

Zdaj ustvarite omrežje za vsebnik Elasticsearch Docker. To ni obvezno, vendar je lahko koristno za namene varnostnega kopiranja za omrežja Elasticsearch:

docker omrežje ustvari elastičnost

4. korak: Zaženite Elasticsearch

Zdaj izvedite sliko Elasticsearch, da namestite in zaženete Elastic search v vsebniku:

docker run --ime es01 --mreža elastična -str 9200 : 9200 -str 9300 : 9300 -t docker.elastic.co / elastično iskanje / elastično iskanje: 8.8.2

V zgornjem ukazu:

  • – ime ” določa ime vsebnika Elasticsearch.
  • -mreža ” se uporablja za vdelavo zunanjega omrežja.
  • -str ” določa vrata vsebnika Elasticsearch.
  • -t ' se uporablja za dodelitev ' TTY-psevdo ” terminal na zabojnik:

Spodnji rezultat kaže, da smo uspešno izvedli vsebnik Elasticsearch in razrešili ' Elasticsearch se ni normalno zaprl ” napaka.

Tukaj bo vsebnik ustvaril ' elastična « uporabniško geslo. Z uporabo teh poverilnic lahko uporabnik dostopa do Elasticsearch v brskalniku. To bo ustvarilo tudi žeton za konfiguracijo Kibane:

5. korak: Preverjanje

Pomaknite se do » http://localhost:9200 ” v brskalniku in preverite, ali se vsebnik izvaja na navedenih vratih ali ne:

Zgornji izhod kaže, da smo uspešno izvedli vsebnik na vratih ' 9200 « in razrešil » Elasticsearch se ni normalno zaprl ” napaka.

Zaključek

Za rešitev ' Elasticsearch se ni normalno zaprl ” uporabniki morajo povečati omejitev navideznega pomnilnika za vsebnik Linux. Če želite to narediti, najprej zaženite namizje Docker z WSL z uporabo » wsl -d docker-desktop ” ukaz. Po tem povečajte omejitev navideznega pomnilnika z uporabo » sysctl -w vm.max_map_count=262144 ” ukaz. Nato znova zaženite sliko, da ustvarite in zaženete vsebnik Elasticsearch. Ta objava je ponazorila metodo za odpravo napake »Elasticsearch ni normalno zapustil«.