Elasticsearch è un famoso motore di ricerca analitico open source ed è spesso utilizzato nei campi dell'intelligenza artificiale e dell'apprendimento automatico. Di solito memorizza dati non strutturati, semi-strutturati e strutturati. Molti utenti devono installare e utilizzare Elasticsearch nei container Docker per eseguirlo in ambienti isolati.
Tuttavia, durante l'esecuzione di Elasticsearch in un contenitore Docker basato su Linux, gli utenti potrebbero trovarsi di fronte al ' Elasticsearch non è uscito normalmente ” errore dovuto a un motivo sconosciuto e suggeriamo di controllare il “ docker-cluster.log ' file.
Questo articolo dimostrerà il metodo per risolvere il ' Elasticsearch non è uscito normalmente ” errore durante l'esecuzione del contenitore Elasticsearch in Docker.
Come risolvere l'errore 'Elasticsearch non è uscito normalmente' durante l'esecuzione del contenitore Docker di Elasticsearch?
A volte, il contenitore Elasticsearch non è stato eseguito normalmente a causa dell'esecuzione in un contenitore Linux e, per impostazione predefinita, il suo limite di memoria virtuale è troppo basso. Ciò può impedire l'esecuzione corretta del contenitore e visualizzare il messaggio di errore ' Elasticsearch non è uscito normalmente ' come mostrato di seguito:
Per risolvere i problemi indicati, l'utente può aumentare il conteggio mmap della memoria virtuale per il contenitore Linux utilizzando i seguenti passaggi.
Passaggio 1: avviare l'applicazione desktop Docker con WSL
Innanzitutto, avvia Docker Desktop con WSL. Ci consente di eseguire e gestire i container Linux su Windows:
wsl -D finestra mobile-desktop
Passaggio 2: aumentare la memoria virtuale
Successivamente, esegui il comando seguente per aumentare il limite di memoria virtuale per i contenitori Linux:
sysctl -In vm.max_map_count= 262144
Successivamente, esegui il comando 'exit' per uscire dal WSL:
Passaggio 3: creare una rete
Ora crea una rete per il contenitore Elasticsearch Docker. È facoltativo ma può essere utile ai fini del backup per le reti Elasticsearch:
la rete docker crea elastico
Passaggio 4: eseguire Elasticsearch
Ora, esegui l'immagine Elasticsearch per installare ed eseguire la ricerca elastica nel contenitore:
corsa del docker --nome es01 --netto elastico -P 9200 : 9200 -P 9300 : 9300 -T docker.elastic.co / elasticsearch / ricerca elastica:8.8.2
Nel comando sopra indicato:
- “ -nome ” sta specificando il nome del contenitore Elasticsearch.
- “ -netto Il flag ” viene utilizzato per incorporare la rete esterna.
- “ -P L'opzione 'sta definendo le porte del contenitore Elasticsearch.
- “ -T ” è usato per assegnare il “ TTY-pseudo ” terminale al contenitore:
L'output seguente mostra che abbiamo eseguito correttamente il contenitore Elasticsearch e risolto il problema ' Elasticsearch non è uscito normalmente ” errore.
Qui, il contenitore genererà il ' elastico ” password dell'utente. Utilizzando queste credenziali, l'utente può accedere a Elasticsearch sul browser. Questo genererà anche il token per configurare Kibana:
Passaggio 5: verifica
Navigare verso ' http://localhost:9200 ” nel tuo browser e verifica che, indipendentemente dal fatto che il contenitore venga eseguito sulla porta specificata o meno:
L'output sopra indica che abbiamo eseguito correttamente il contenitore sulla porta ' 9200 ” e risolto il “ Elasticsearch non è uscito normalmente ” errore.
Conclusione
Per risolvere il “ Elasticsearch non è uscito normalmente ” errore, gli utenti devono aumentare il limite di memoria virtuale per il contenitore Linux. Per fare ciò, prima avvia il desktop Docker con WSL usando ' wsl -d finestra mobile-desktop ” comando. Successivamente, aumenta il limite di memoria virtuale utilizzando il ' sysctl -w vm.max_map_count=262144 ” comando. Quindi, esegui nuovamente l'immagine per creare e avviare il contenitore Elasticsearch. Questo post ha illustrato il metodo per correggere l'errore 'Elasticsearch non è uscito normalmente'.