Kaip išspręsti klaidą „Elasticsearch išėjo normaliai“ vykdant „Elasticsearch Docker Container“?

Kaip Isspresti Klaida Elasticsearch Isejo Normaliai Vykdant Elasticsearch Docker Container



„Elasticsearch“ yra atvirojo kodo ir garsus analitinis paieškos variklis, dažnai naudojamas dirbtinio intelekto ir mašininio mokymosi srityse. Paprastai jame saugomi nestruktūrizuoti, pusiau struktūrizuoti ir struktūrizuoti duomenys. Daugelis vartotojų turi įdiegti ir naudoti „Elasticsearch“ „Docker“ konteineriuose, kad galėtų jį vykdyti izoliuotoje aplinkoje.

Tačiau vykdydami Elasticsearch „Linux Docker“ konteineryje, vartotojai gali susidurti su „ Elasticsearch normaliai nepasitraukė “ klaidą dėl nežinomos priežasties ir pasiūlykite patikrinti „ docker-cluster.log “ failą.





Šiame straipsnyje bus parodytas būdas, kaip išspręsti „ Elasticsearch normaliai nepasitraukė “ klaida vykdant „Elasticsearch“ konteinerį „Docker“.



Kaip išspręsti klaidą „Elasticsearch išėjo normaliai“ vykdant „Elasticsearch Docker Container“?

Kartais „Elasticsearch“ sudėtinis rodinys nebuvo vykdomas įprastai, nes buvo vykdomas „Linux“ sudėtiniame rodinyje ir pagal numatytuosius nustatymus jo virtualiosios atminties limitas yra per mažas. Tai gali sustabdyti konteinerio tinkamą vykdymą ir parodyti klaidos pranešimą „ Elasticsearch normaliai nepasitraukė ' kaip parodyta žemiau:







Kad išspręstų nurodytas problemas, vartotojas gali padidinti virtualiosios atminties mmap skaičių Linux konteineryje atlikdamas šiuos veiksmus.



1 veiksmas: paleiskite „Docker“ darbalaukio programą naudodami WSL

Pirmiausia paleiskite „Docker Desktop“ naudodami WSL. Tai leidžia mums vykdyti ir valdyti „Linux“ konteinerius sistemoje „Windows“:

wsl -d dokeris-darbalaukis

2 veiksmas: padidinkite virtualią atmintį

Tada paleiskite toliau pateiktą komandą, kad padidintumėte „Linux“ konteinerių virtualiosios atminties limitą:

sysctl vm.max_map_count= 262144

Po to vykdykite komandą „exit“, kad išeitumėte iš WSL:

3 veiksmas: sukurkite tinklą

Dabar sukurkite Elasticsearch Docker konteinerio tinklą. Tai neprivaloma, bet gali būti naudinga kuriant Elasticsearch tinklų atsargines kopijas:

dokerių tinklas sukuria elastingumą

4 veiksmas: paleiskite „Elasticsearch“.

Dabar paleiskite Elasticsearch vaizdą, kad įdiegtumėte ir paleistumėte Elastic paiešką konteineryje:

dokininko bėgimas --vardas es01 --net elastinga -p 9200 : 9200 -p 9300 : 9300 -t docker.elastic.co / elastinga paieška / elastinga paieška:8.8.2

Aukščiau pateiktoje komandoje:

  • -vardas “ nurodo Elasticsearch konteinerio pavadinimą.
  • – tinklelis “ vėliavėlė naudojama išoriniam tinklui įterpti.
  • -p “ parinktis apibrėžia „Elasticsearch“ konteinerio prievadus.
  • -t “ naudojamas priskirti „ TTY-pseudo ” terminalas prie konteinerio:

Žemiau pateikta produkcija rodo, kad sėkmingai įvykdėme Elasticsearch konteinerį ir išsprendėme „ Elasticsearch normaliai nepasitraukė “ klaida.

Čia konteineris sugeneruos „ elastinga “ vartotojo slaptažodį. Naudodamas šiuos kredencialus vartotojas gali pasiekti Elasticsearch naršyklėje. Tai taip pat sugeneruos prieigos raktą Kibana konfigūruoti:

5 veiksmas: patvirtinimas

Eikite į „ http://localhost:9200 “ naršyklėje ir patikrinkite, ar konteineris vykdomas nurodytame prievade, ar ne:

Aukščiau pateikta išvestis rodo, kad mes sėkmingai įvykdėme konteinerį prievade ' 9200 “ ir išsprendė „ Elasticsearch normaliai nepasitraukė “ klaida.

Išvada

Norėdami išspręsti „ Elasticsearch normaliai nepasitraukė “ klaida, vartotojai turi padidinti „Linux“ konteinerio virtualiosios atminties limitą. Norėdami tai padaryti, pirmiausia paleiskite „Docker“ darbalaukį su WSL naudodami „ wsl -d docker-desktop “ komanda. Po to padidinkite virtualios atminties limitą naudodami „ sysctl -w vm.max_map_count=262144 “ komanda. Tada dar kartą paleiskite vaizdą, kad sukurtumėte ir paleistumėte Elasticsearch konteinerį. Šis įrašas iliustruoja būdą, kaip ištaisyti klaidą „Elasticsearch nebuvo normaliai išjungta“.