O Elasticsearch é um famoso mecanismo de pesquisa analítica de código aberto e é frequentemente usado nos campos de IA e aprendizado de máquina. Geralmente armazena dados não estruturados, semiestruturados e estruturados. Muitos usuários precisam instalar e usar o Elasticsearch em contêineres Docker para executá-lo em ambientes isolados.
No entanto, ao executar o Elasticsearch no contêiner Docker baseado em Linux, os usuários podem enfrentar o “ Elasticsearch não saiu normalmente ” devido a um motivo desconhecido e sugerimos que você verifique o “ docker-cluster.log ' arquivo.
Este artigo irá demonstrar o método de como resolver o “ Elasticsearch não saiu normalmente ” ao executar o contêiner Elasticsearch no Docker.
Como resolver o erro “Elasticsearch não saiu normalmente” ao executar o Elasticsearch Docker Container?
Às vezes, o contêiner Elasticsearch não executava normalmente devido a ser executado em um contêiner Linux e, por padrão, seu limite de memória virtual é muito baixo. Isso pode impedir que o contêiner seja executado corretamente e mostrar a mensagem de erro “ Elasticsearch não saiu normalmente ' como mostrado abaixo:
Para resolver os problemas declarados, o usuário pode aumentar a contagem de mmap da memória virtual para o contêiner do Linux usando as etapas a seguir.
Etapa 1: Iniciar o aplicativo Docker Desktop com WSL
Primeiro, inicie o Docker Desktop com WSL. Ele nos permite executar e gerenciar containers Linux no Windows:
wsl -d docker-desktop
Etapa 2: aumentar a memória virtual
Em seguida, execute o comando abaixo para aumentar o limite de memória virtual para contêineres do Linux:
sysctl -Em vm.max_map_count= 262144
Depois disso, execute o comando “exit” para sair do WSL:
Etapa 3: criar uma rede
Agora, crie uma rede para o contêiner Elasticsearch Docker. É opcional, mas pode ser útil para fins de backup para redes Elasticsearch:
rede docker criar elástico
Etapa 4: execute o Elasticsearch
Agora, execute a imagem do Elasticsearch para instalar e execute a pesquisa do Elastic no contêiner:
docker run --nome es01 --líquido elástico -p 9200 : 9200 -p 9300 : 9300 -t docker.elastic.co / elasticsearch / elasticsearch:8.8.2
No comando dado acima:
- “ -nome ” está especificando o nome do contêiner Elasticsearch.
- “ -líquido ” é utilizado para incorporar a rede externa.
- “ -p ” está definindo as portas do contêiner Elasticsearch.
- “ -t ” é usado para atribuir o “ TTY-pseudo ” terminal para o contêiner:
A saída abaixo mostra que executamos com sucesso o contêiner Elasticsearch e resolvemos o problema “ Elasticsearch não saiu normalmente ” erro.
Aqui, o container irá gerar o “ elástico ” a senha do usuário. Usando essas credenciais, o usuário pode acessar o Elasticsearch no navegador. Isso também irá gerar o token para configurar o Kibana:
Etapa 5: verificação
Navegar para ' http://localhost:9200 ” em seu navegador e verifique se o contêiner é executado na porta especificada ou não:
A saída acima indica que executamos com sucesso o contêiner na porta “ 9200 ” e resolveu o “ Elasticsearch não saiu normalmente ” erro.
Conclusão
Para resolver o “ Elasticsearch não saiu normalmente ”, os usuários são obrigados a aumentar o limite de memória virtual para o contêiner do Linux. Para fazer isso, primeiro inicie a área de trabalho do Docker com WSL usando “ wsl -d docker-desktop ” comando. Depois disso, aumente o limite de memória virtual usando o “ sysctl -w vm.max_map_count=262144 ” comando. Em seguida, execute novamente a imagem para criar e iniciar o contêiner Elasticsearch. Este post ilustrou o método para corrigir o erro “Elasticsearch não saiu normalmente”.