Paano Lutasin ang Error na 'Hindi normal na lumabas ang Elasticsearch' Habang Nagpapatupad ng Elasticsearch Docker Container?

Paano Lutasin Ang Error Na Hindi Normal Na Lumabas Ang Elasticsearch Habang Nagpapatupad Ng Elasticsearch Docker Container



Ang Elasticsearch ay isang open-source at sikat na analytical na search engine at kadalasang ginagamit sa AI at machine learning field. Karaniwan itong nag-iimbak ng hindi nakabalangkas, semi-nakabalangkas, at nakabalangkas na data. Maraming mga gumagamit ang kinakailangang mag-install at gumamit ng Elasticsearch sa mga lalagyan ng Docker upang maisagawa ito sa mga nakahiwalay na kapaligiran.

Gayunpaman, habang isinasagawa ang Elasticsearch sa Linux based Docker container, maaaring harapin ng mga user ang “ Ang Elasticsearch ay hindi lumabas nang normal ” error dahil sa hindi kilalang dahilan at iminumungkahi mong suriin ang “ docker-cluster.log ” file.







Ipapakita ng artikulong ito ang pamamaraan kung paano lutasin ang ' Ang Elasticsearch ay hindi lumabas nang normal ” error habang isinasagawa ang Elasticsearch container sa Docker.



Paano Lutasin ang Error na 'Hindi normal na lumabas ang Elasticsearch' Habang Nagpapatupad ng Elasticsearch Docker Container?

Minsan, ang Elasticsearch container ay hindi gumana nang normal dahil sa ito ay naisakatuparan sa isang Linux container at bilang default, ang virtual memory limit nito ay masyadong mababa. Maaari nitong pigilan ang container mula sa pag-execute nang maayos at ipakita ang mensahe ng error ' Ang Elasticsearch ay hindi lumabas nang normal ” gaya ng ipinapakita sa ibaba:







Upang malutas ang mga nakasaad na isyu, maaaring taasan ng user ang bilang ng mmap ng virtual memory para sa lalagyan ng Linux gamit ang mga sumusunod na hakbang.



Hakbang 1: Simulan ang Docker Desktop Application Gamit ang WSL

Una, simulan ang Docker Desktop gamit ang WSL. Nagbibigay-daan ito sa amin na isagawa at pamahalaan ang mga lalagyan ng Linux sa Windows:

wsl -d docker-desktop

Hakbang 2: Palakihin ang Virtual Memory

Susunod, patakbuhin ang command sa ibaba upang madagdagan ang limitasyon ng Virtual memory para sa mga lalagyan ng Linux:

sysctl -Sa vm.max_map_count= 262144

Pagkatapos nito, isagawa ang 'exit' na utos upang lumabas sa WSL:

Hakbang 3: Gumawa ng Network

Ngayon, lumikha ng isang network para sa lalagyan ng Elasticsearch Docker. Ito ay opsyonal ngunit maaaring maging kapaki-pakinabang para sa mga layunin ng backup para sa mga Elasticsearch network:

gumagawa ng nababanat na network ng docker

Hakbang 4: Patakbuhin ang Elasticsearch

Ngayon, isagawa ang Elasticsearch na imahe upang mai-install at patakbuhin ang Elastic search sa lalagyan:

tumakbo sa pantalan --pangalan es01 --net nababanat -p 9200 : 9200 -p 9300 : 9300 -t docker.elastic.co / elasticsearch / elasticsearch:8.8.2

Sa ibinigay na utos sa itaas:

  • –pangalan ” ay tumutukoy sa pangalan ng container ng Elasticsearch.
  • –net ” ang bandila ay ginagamit upang i-embed ang panlabas na network.
  • -p ” ang opsyon ay tumutukoy sa mga port ng container ng Elasticsearch.
  • -t ' ay ginagamit upang italaga ang ' TTY-pseudo ” terminal sa lalagyan:

Ang output sa ibaba ay nagpapakita na matagumpay naming naisakatuparan ang lalagyan ng Elasticsearch at nalutas ang ' Ang Elasticsearch ay hindi lumabas nang normal ” pagkakamali.

Dito, bubuo ng container ang ' nababanat ” password ng gumagamit. Gamit ang mga kredensyal na ito, maa-access ng user ang Elasticsearch sa browser. Bubuo din ito ng token para i-configure ang Kibana:

Hakbang 5: Pag-verify

Mag-navigate sa ' http://localhost:9200 ” sa iyong browser at i-verify na, kung ang container ay naisakatuparan sa tinukoy na port o hindi:

Ang output sa itaas ay nagpapahiwatig na matagumpay naming naisakatuparan ang lalagyan sa port ' 9200 'at nalutas ang' Ang Elasticsearch ay hindi lumabas nang normal ” pagkakamali.

Konklusyon

Upang malutas ang ' Ang Elasticsearch ay hindi lumabas nang normal ” error, kinakailangan ng mga user na taasan ang limitasyon ng Virtual memory para sa lalagyan ng Linux. Upang gawin ito, simulan muna ang Docker desktop gamit ang WSL gamit ang ' wsl -d docker-desktop ” utos. Pagkatapos nito, dagdagan ang limitasyon ng virtual memory gamit ang ' sysctl -w vm.max_map_count=262144 ” utos. Pagkatapos, patakbuhin muli ang imahe upang lumikha at simulan ang lalagyan ng Elasticsearch. Ang post na ito ay naglalarawan ng paraan upang ayusin ang error na 'Hindi lumabas nang normal ang Elasticsearch'.