Jak vyřešit chybu „Elasticsearch neukončil normálně“ při spouštění Elasticsearch Docker Container?

Jak Vyresit Chybu Elasticsearch Neukoncil Normalne Pri Spousteni Elasticsearch Docker Container



Elasticsearch je open-source a slavný analytický vyhledávač a často se používá v oblastech umělé inteligence a strojového učení. Obvykle ukládá nestrukturovaná, polostrukturovaná a strukturovaná data. Mnoho uživatelů musí nainstalovat a používat Elasticsearch v kontejnerech Docker, aby jej mohli spustit v izolovaných prostředích.

Při provádění Elasticsearch v kontejneru Docker založeném na Linuxu se však uživatelé mohou setkat s „ Elasticsearch se nespustil normálně “ z neznámého důvodu a doporučujeme zkontrolovat “ docker-cluster.log “.







Tento článek demonstruje metodu, jak vyřešit „ Elasticsearch se nespustil normálně ” chyba při spouštění kontejneru Elasticsearch v Dockeru.



Jak vyřešit chybu „Elasticsearch neukončil normálně“ při spouštění Elasticsearch Docker Container?

Někdy se kontejner Elasticsearch nespustil normálně, protože byl spuštěn v kontejneru Linux a ve výchozím nastavení je limit jeho virtuální paměti příliš nízký. To může zastavit správné provádění kontejneru a zobrazit chybovou zprávu „ Elasticsearch se nespustil normálně ' Jak je ukázáno níže:







K vyřešení uvedených problémů může uživatel zvýšit počet mmap virtuální paměti pro kontejner Linux pomocí následujících kroků.



Krok 1: Spusťte aplikaci Docker Desktop pomocí WSL

Nejprve spusťte Docker Desktop s WSL. Umožňuje nám spouštět a spravovat kontejnery Linuxu ve Windows:

wsl -d docker-desktop

Krok 2: Zvyšte virtuální paměť

Dále spusťte níže uvedený příkaz ke zvýšení limitu virtuální paměti pro kontejnery Linux:

sysctl -V vm.max_map_count= 262144

Poté spusťte příkaz „exit“ pro ukončení WSL:

Krok 3: Vytvořte síť

Nyní vytvořte síť pro kontejner Elasticsearch Docker. Je volitelná, ale může být prospěšná pro účely zálohování pro sítě Elasticsearch:

docker network vytvořit elastic

Krok 4: Spusťte Elasticsearch

Nyní spusťte obraz Elasticsearch a nainstalujte a spusťte Elastic search v kontejneru:

docker spustit --název es01 --síť elastický -p 9200 : 9200 -p 9300 : 9300 -t docker.elastic.co / elasticsearch / elasticsearch:8.8.2

Ve výše uvedeném příkazu:

  • -název ” určuje název kontejneru Elasticsearch.
  • -síť příznak ” se používá k vložení externí sítě.
  • -p ” definuje porty kontejneru Elasticsearch.
  • -t “ se používá k přiřazení „ TTY-pseudo ” terminál do kontejneru:

Níže uvedený výstup ukazuje, že jsme úspěšně provedli kontejner Elasticsearch a vyřešili „ Elasticsearch se nespustil normálně “chyba.

Zde kontejner vygeneruje „ elastický “ uživatelské heslo. Pomocí těchto přihlašovacích údajů může uživatel přistupovat k Elasticsearch v prohlížeči. Tím se také vygeneruje token pro konfiguraci Kibana:

Krok 5: Ověření

Navigovat do ' http://localhost:9200 ” ve vašem prohlížeči a ověřte, zda je kontejner spuštěn na zadaném portu či nikoli:

Výše uvedený výstup naznačuje, že jsme úspěšně provedli kontejner na portu “ 9200 “ a vyřešil „ Elasticsearch se nespustil normálně “chyba.

Závěr

K vyřešení problému „ Elasticsearch se nespustil normálně “, uživatelé jsou povinni zvýšit limit virtuální paměti pro kontejner Linux. Chcete-li to provést, nejprve spusťte plochu Docker s WSL pomocí „ wsl -d docker-desktop “příkaz. Poté zvyšte limit virtuální paměti pomocí „ sysctl -w vm.max_map_count=262144 “příkaz. Poté znovu spusťte obrázek a vytvořte a spusťte kontejner Elasticsearch. Tento příspěvek ilustruje způsob, jak opravit chybu „Elasticsearch neukončil normálně“.