Cum se rezolvă eroarea „Elasticsearch nu a ieșit normal” în timpul execuției Elasticsearch Docker Container?

Cum Se Rezolva Eroarea Elasticsearch Nu A Iesit Normal In Timpul Executiei Elasticsearch Docker Container



Elasticsearch este un motor de căutare analitic faimos și open-source și este folosit frecvent în domeniile AI și învățarea automată. De obicei, stochează date nestructurate, semi-structurate și structurate. Mulți utilizatori trebuie să instaleze și să utilizeze Elasticsearch în containerele Docker pentru a-l executa în medii izolate.

Cu toate acestea, în timp ce execută Elasticsearch în containerul Docker bazat pe Linux, utilizatorii se pot confrunta cu „ Elasticsearch nu a ieșit în mod normal ” din cauza unui motiv necunoscut și vă sugerăm să verificați „ docker-cluster.log ” dosar.





Acest articol va demonstra metoda de rezolvare a „ Elasticsearch nu a ieșit în mod normal ” eroare la executarea containerului Elasticsearch în Docker.



Cum se rezolvă eroarea „Elasticsearch nu a ieșit normal” în timpul execuției Elasticsearch Docker Container?

Uneori, containerul Elasticsearch nu s-a executat normal, deoarece a fost executat într-un container Linux și, implicit, limita sa de memorie virtuală este prea mică. Acest lucru poate opri executarea corectă a containerului și poate afișa mesajul de eroare „ Elasticsearch nu a ieșit în mod normal ' așa cum se arată mai jos:







Pentru a rezolva problemele menționate, utilizatorul poate crește numărul mmap al memoriei virtuale pentru containerul Linux utilizând următorii pași.



Pasul 1: Porniți aplicația desktop Docker cu WSL

Mai întâi, porniți Docker Desktop cu WSL. Ne permite să executăm și să gestionăm containere Linux pe Windows:

wsl -d docker-desktop

Pasul 2: Măriți memoria virtuală

Apoi, rulați comanda de mai jos pentru a crește limita de memorie virtuală pentru containerele Linux:

sysctl -În vm.max_map_count= 262144

După aceea, executați comanda „exit” pentru a ieși din WSL:

Pasul 3: Creați o rețea

Acum, creați o rețea pentru containerul Elasticsearch Docker. Este opțional, dar poate fi benefic în scopuri de backup pentru rețelele Elasticsearch:

docker network crea elastic

Pasul 4: rulați Elasticsearch

Acum, executați imaginea Elasticsearch pentru a instala și rula Elastic Search în container:

docker run --Nume es01 --net elastic -p 9200 : 9200 -p 9300 : 9300 -t docker.elastic.co / elasticsearch / elasticsearch:8.8.2

În comanda de mai sus:

  • -Nume ” specifică numele containerului Elasticsearch.
  • -net ” este utilizat pentru a încorpora rețeaua externă.
  • -p ” opțiunea este definirea porturilor containerului Elasticsearch.
  • -t ” este folosit pentru a atribui „ TTY-pseudo ” terminal la container:

Rezultatul de mai jos arată că am executat cu succes containerul Elasticsearch și am rezolvat problema „ Elasticsearch nu a ieșit în mod normal ” eroare.

Aici, containerul va genera „ elastic ” parola utilizatorului. Folosind aceste acreditări, utilizatorul poate accesa Elasticsearch în browser. Acest lucru va genera și jetonul pentru a configura Kibana:

Pasul 5: Verificare

Navigheaza catre ' http://localhost:9200 ” în browser și verificați dacă containerul este executat sau nu pe portul specificat:

Ieșirea de mai sus indică faptul că am executat cu succes containerul pe port „ 9200 ” și a rezolvat „ Elasticsearch nu a ieșit în mod normal ” eroare.

Concluzie

Pentru a rezolva „ Elasticsearch nu a ieșit în mod normal ”, utilizatorii trebuie să mărească limita de memorie virtuală pentru containerul Linux. Pentru a face acest lucru, mai întâi porniți desktopul Docker cu WSL folosind „ wsl -d docker-desktop ” comanda. După aceea, creșteți limita de memorie virtuală folosind „ sysctl -w vm.max_map_count=262144 ” comanda. Apoi, rulați din nou imaginea pentru a crea și a porni containerul Elasticsearch. Această postare a ilustrat metoda de remediere a erorii „Elasticsearch nu a ieșit normal”.