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ě“.