Kā novērst kļūdu “Elasticsearch neizgāja normāli”, izpildot Elasticsearch Docker konteineru?

Ka Noverst Kludu Elasticsearch Neizgaja Normali Izpildot Elasticsearch Docker Konteineru



Elasticsearch ir atvērtā koda un slavena analītiskā meklētājprogramma, un to bieži izmanto AI un mašīnmācīšanās jomās. Tas parasti glabā nestrukturētus, daļēji strukturētus un strukturētus datus. Daudziem lietotājiem ir jāinstalē un jāizmanto Elasticsearch Docker konteineros, lai to izpildītu izolētā vidē.

Tomēr, izpildot Elasticsearch Linux balstītā Docker konteinerā, lietotāji var saskarties ar “ Elasticsearch neizgāja normāli ' kļūda nezināma iemesla dēļ un iesakām pārbaudīt ' docker-cluster.log ” failu.







Šajā rakstā tiks parādīta metode, kā atrisināt ' Elasticsearch neizgāja normāli ” kļūda, izpildot Elasticsearch konteineru programmā Docker.



Kā novērst kļūdu “Elasticsearch neizgāja normāli”, izpildot Elasticsearch Docker konteineru?

Dažreiz Elasticsearch konteiners netika normāli izpildīts, jo tas tika izpildīts Linux konteinerā, un pēc noklusējuma tā virtuālās atmiņas ierobežojums ir pārāk mazs. Tas var apturēt konteinera pareizu izpildi un parādīt kļūdas ziņojumu ' Elasticsearch neizgāja normāli ”, kā parādīts zemāk:







Lai atrisinātu norādītās problēmas, lietotājs var palielināt virtuālās atmiņas mmap skaitu Linux konteineram, veicot šādas darbības.



1. darbība: startējiet Docker darbvirsmas lietojumprogrammu ar WSL

Vispirms palaidiet Docker Desktop ar WSL. Tas ļauj mums izpildīt un pārvaldīt Linux konteinerus operētājsistēmā Windows:

wsl -d docker-desktop

2. darbība: palieliniet virtuālo atmiņu

Pēc tam palaidiet tālāk norādīto komandu, lai palielinātu virtuālās atmiņas ierobežojumu Linux konteineriem:

sysctl -Iekšā vm.max_map_count= 262144

Pēc tam izpildiet komandu “exit”, lai izietu no WSL:

3. darbība: izveidojiet tīklu

Tagad izveidojiet tīklu Elasticsearch Docker konteineram. Tas nav obligāts, bet var būt noderīgs Elasticsearch tīklu dublēšanai:

dokeru tīkls rada elastīgu

4. darbība: palaidiet Elasticsearch

Tagad izpildiet Elasticsearch attēlu, lai konteinerā instalētu un palaistu Elastic meklēšanu:

dokera skrējiens --nosaukums es01 --tīkls elastīgs -lpp 9200 : 9200 -lpp 9300 : 9300 -t docker.elastic.co / elastība / elasticsearch:8.8.2

Iepriekš dotajā komandā:

  • ' -vārds ” norāda Elasticsearch konteinera nosaukumu.
  • ' -tīkls ” karodziņš tiek izmantots, lai iegultu ārējo tīklu.
  • ' -lpp Opcija definē Elasticsearch konteinera portus.
  • ' -t ' tiek izmantots, lai piešķirtu ' TTY-pseido ” terminālis uz konteineru:

Zemāk redzamā izvade parāda, ka esam veiksmīgi izpildījuši Elasticsearch konteineru un atrisinājuši “ Elasticsearch neizgāja normāli ” kļūda.

Šeit konteiners ģenerēs “ elastīgs ” lietotāja paroli. Izmantojot šos akreditācijas datus, lietotājs pārlūkprogrammā var piekļūt Elasticsearch. Tas arī ģenerēs marķieri, lai konfigurētu Kibana:

5. darbība. Verifikācija

Dodieties uz ' http://localhost:9200 ” savā pārlūkprogrammā un pārbaudiet, vai konteiners tiek izpildīts norādītajā portā vai nē:

Iepriekš minētā izvade norāda, ka mēs esam veiksmīgi izpildījuši konteineru ostā ' 9200 ” un atrisināja „ Elasticsearch neizgāja normāli ” kļūda.

Secinājums

Lai atrisinātu ' Elasticsearch neizgāja normāli ” kļūdu, lietotājiem ir jāpalielina Linux konteinera virtuālās atmiņas ierobežojums. Lai to izdarītu, vispirms palaidiet Docker darbvirsmu ar WSL, izmantojot “ wsl -d docker-desktop ” komandu. Pēc tam palieliniet virtuālās atmiņas ierobežojumu, izmantojot ' sysctl -w vm.max_map_count=262144 ” komandu. Pēc tam vēlreiz palaidiet attēlu, lai izveidotu un palaistu Elasticsearch konteineru. Šajā ziņojumā ir parādīta metode, kā novērst kļūdu “Elasticsearch neizgāja normāli”.