Elasticsearch on avoimen lähdekoodin ja kuuluisa analyyttinen hakukone, ja sitä käytetään usein tekoäly- ja koneoppimisen aloilla. Se tallentaa yleensä jäsentämätöntä, puolirakenteista ja strukturoitua dataa. Monien käyttäjien on asennettava Elasticsearch ja käytettävä sitä Docker-säilöissä sen suorittamiseksi eristetyissä ympäristöissä.
Suorittaessaan Elasticsearchia Linux-pohjaisessa Docker-säiliössä käyttäjät voivat kuitenkin kohdata ' Elasticsearch ei poistunut normaalisti tuntemattomasta syystä johtuvan virheen ja suosittelen tarkistamaan docker-cluster.log ”tiedosto.
Tämä artikkeli näyttää tavan ratkaista ' Elasticsearch ei poistunut normaalisti ' -virhe suoritettaessa Elasticsearch-säilöä Dockerissa.
Kuinka ratkaista 'Elasticsearch ei poistunut normaalisti' -virheestä Elasticsearch Docker Container -säilöä suoritettaessa?
Joskus Elasticsearch-säilö ei toiminut normaalisti, koska se suoritettiin Linux-säilössä, ja oletuksena sen virtuaalisen muistin raja on liian pieni. Tämä voi estää säilöä toimimasta oikein ja näyttää virheilmoituksen ' Elasticsearch ei poistunut normaalisti ' kuten alla:
Ilmoitettujen ongelmien ratkaisemiseksi käyttäjä voi lisätä virtuaalimuistin mmap-määrää Linux-säilön osalta seuraavien vaiheiden avulla.
Vaihe 1: Käynnistä Docker Desktop -sovellus WSL:llä
Käynnistä ensin Docker Desktop WSL:llä. Sen avulla voimme suorittaa ja hallita Linux-säilöjä Windowsissa:
wsl -d Docker-työpöytä
Vaihe 2: Lisää virtuaalimuistia
Suorita seuraavaksi alla oleva komento lisätäksesi virtuaalisen muistin rajaa Linux-säilöille:
sysctl -Sisään vm.max_map_count= 262144
Suorita sen jälkeen 'exit'-komento poistuaksesi WSL:stä:
Vaihe 3: Luo verkko
Luo nyt verkko Elasticsearch Docker -säilölle. Se on valinnainen, mutta siitä voi olla hyötyä Elasticsearch-verkkojen varmuuskopiointitarkoituksiin:
telakointiverkosto luo elastisuutta
Vaihe 4: Suorita Elasticsearch
Asenna nyt Elasticsearch-kuva ja suorita Elastic-haku säilössä:
telakkajuoksu --nimi es01 --netto elastinen -s 9200 : 9200 -s 9300 : 9300 -t docker.elastic.co / elastinen haku / elastinen haku:8.8.2
Yllä annetussa komennossa:
- ' -nimi ” määrittää Elasticsearch-säilön nimen.
- ' -netto ” -lippua käytetään ulkoisen verkon upottamiseen.
- ' -s ” -vaihtoehto määrittää Elasticsearch-kontin portit.
- ' -t ' käytetään määrittämään ' TTY-pseudo ” terminaali konttiin:
Alla oleva tulos osoittaa, että olemme suorittaneet Elasticsearch-säilön onnistuneesti ja ratkaisseet ' Elasticsearch ei poistunut normaalisti ”virhe.
Täällä säilö luo ' elastinen ”käyttäjän salasana. Näiden tunnistetietojen avulla käyttäjä voi käyttää Elasticsearchia selaimessa. Tämä luo myös tunnuksen Kibanan määrittämistä varten:
Vaihe 5: Vahvistus
Navigoida johonkin ' http://localhost:9200 ” selaimessasi ja tarkista, suoritetaanko säilö määritetyssä portissa vai ei:
Yllä oleva tulos osoittaa, että olemme suorittaneet kontin onnistuneesti portissa ' 9200 ' ja ratkaisi' Elasticsearch ei poistunut normaalisti ”virhe.
Johtopäätös
ratkaistaksesi ' Elasticsearch ei poistunut normaalisti ' -virhe, käyttäjien on lisättävä Linux-säilön virtuaalisen muistin rajaa. Käynnistä ensin Docker-työpöytä WSL:llä käyttämällä ' wsl -d docker-desktop ”komento. Suurenna sen jälkeen virtuaalimuistin rajaa käyttämällä ' sysctl -w vm.max_map_count=262144 ”komento. Suorita sitten kuva uudelleen luodaksesi ja käynnistääksesi Elasticsearch-säilön. Tämä viesti on havainnollistanut tapaa korjata 'Elasticsearch ei poistunut normaalisti' -virheestä.