Hoe op te lossen 'Elasticsearch is niet normaal afgesloten' Fout tijdens het uitvoeren van Elasticsearch Docker Container?

Hoe Op Te Lossen Elasticsearch Is Niet Normaal Afgesloten Fout Tijdens Het Uitvoeren Van Elasticsearch Docker Container



Elasticsearch is een open-source en beroemde analytische zoekmachine en wordt vaak gebruikt op het gebied van AI en machine learning. Het slaat meestal ongestructureerde, semi-gestructureerde en gestructureerde gegevens op. Veel gebruikers moeten Elasticsearch in Docker-containers installeren en gebruiken om het in geïsoleerde omgevingen uit te voeren.

Tijdens het uitvoeren van Elasticsearch in een op Linux gebaseerde Docker-container kunnen gebruikers echter worden geconfronteerd met de ' Elasticsearch is niet normaal afgesloten ” fout vanwege een onbekende reden en stel voor dat u de “ docker-cluster.log ' bestand.







Dit artikel zal de methode demonstreren voor het oplossen van de ' Elasticsearch is niet normaal afgesloten 'fout tijdens het uitvoeren van de Elasticsearch-container in Docker.



Hoe op te lossen 'Elasticsearch is niet normaal afgesloten' Fout tijdens het uitvoeren van Elasticsearch Docker Container?

Soms werd de Elasticsearch-container niet normaal uitgevoerd omdat deze in een Linux-container werd uitgevoerd en omdat de virtuele geheugenlimiet standaard te laag is. Dit kan ertoe leiden dat de container niet correct wordt uitgevoerd en de foutmelding ' Elasticsearch is niet normaal afgesloten ” zoals hieronder weergegeven:







Om de genoemde problemen op te lossen, kan de gebruiker het aantal mmaps van het virtuele geheugen voor de Linux-container verhogen met behulp van de volgende stappen.



Stap 1: Start de Docker Desktop-toepassing met WSL

Start eerst de Docker Desktop met WSL. Het stelt ons in staat om Linux-containers op Windows uit te voeren en te beheren:

wsl -D docker-desktop

Stap 2: vergroot het virtuele geheugen

Voer vervolgens de onderstaande opdracht uit om de virtuele geheugenlimiet voor Linux-containers te verhogen:

systeem -In vm.max_map_count= 262144

Voer daarna de opdracht 'exit' uit om de WSL te verlaten:

Stap 3: maak een netwerk aan

Maak nu een netwerk voor de Elasticsearch Docker-container. Het is optioneel, maar kan nuttig zijn voor back-updoeleinden voor Elasticsearch-netwerken:

docker-netwerk maakt elastiek

Stap 4: Voer Elasticsearch uit

Voer nu de Elasticsearch-afbeelding uit om de Elastic-zoekopdracht in de container te installeren en uit te voeren:

havenarbeider rennen --naam es01 --netto elastisch -P 9200 : 9200 -P 9300 : 9300 -T docker.elastic.co / elastisch zoeken / elastisch zoeken:8.8.2

In de hierboven gegeven opdracht:

  • -naam ” specificeert de naam van de Elasticsearch-container.
  • -netto ” vlag wordt gebruikt om het externe netwerk in te sluiten.
  • -P ” optie definieert de poorten van de Elasticsearch-container.
  • -T ” wordt gebruikt om de “ TTY-pseudo ” terminal naar de container:

De onderstaande uitvoer laat zien dat we de Elasticsearch-container met succes hebben uitgevoerd en de ' Elasticsearch is niet normaal afgesloten ' fout.

Hier genereert de container de ' elastisch ” gebruikerswachtwoord. Met deze inloggegevens heeft de gebruiker toegang tot Elasticsearch in de browser. Dit genereert ook het token om Kibana te configureren:

Stap 5: Verificatie

Navigeren naar ' http://localhost:9200 ” in uw browser en verifieer dat, of de container nu wordt uitgevoerd op de opgegeven poort of niet:

De bovenstaande uitvoer geeft aan dat we de container op poort met succes hebben uitgevoerd ' 9200 ” en loste de “ Elasticsearch is niet normaal afgesloten ' fout.

Conclusie

Om de “ Elasticsearch is niet normaal afgesloten '-fout, moeten gebruikers de virtuele geheugenlimiet voor de Linux-container verhogen. Start hiervoor eerst de Docker-desktop met WSL via ' wsl -d docker-desktop ” commando. Verhoog daarna de virtuele geheugenlimiet met behulp van de ' sysctl -w vm.max_map_count=262144 ” commando. Voer vervolgens de afbeelding opnieuw uit om de Elasticsearch-container te maken en te starten. Dit bericht heeft de methode geïllustreerd om de fout 'Elasticsearch is niet normaal afgesloten' op te lossen.