Elasticsearch es un famoso motor de búsqueda analítico de código abierto y se usa con frecuencia en los campos de inteligencia artificial y aprendizaje automático. Por lo general, almacena datos no estructurados, semiestructurados y estructurados. Se requiere que muchos usuarios instalen y usen Elasticsearch en contenedores Docker para ejecutarlo en entornos aislados.
Sin embargo, al ejecutar Elasticsearch en un contenedor Docker basado en Linux, los usuarios pueden enfrentar el “ Elasticsearch no salió normalmente 'error debido a una razón desconocida y le sugerimos que verifique el ' docker-cluster.log ' archivo.
Este artículo demostrará el método de cómo resolver el “ Elasticsearch no salió normalmente ” error al ejecutar el contenedor Elasticsearch en Docker.
¿Cómo resolver el error 'Elasticsearch no salió normalmente' al ejecutar el contenedor Docker de Elasticsearch?
A veces, el contenedor de Elasticsearch no se ejecutaba con normalidad debido a que se ejecutaba en un contenedor de Linux y, de forma predeterminada, su límite de memoria virtual era demasiado bajo. Esto puede impedir que el contenedor se ejecute correctamente y mostrar el mensaje de error ' Elasticsearch no salió normalmente ' Como se muestra abajo:
Para resolver los problemas indicados, el usuario puede aumentar el recuento mmap de la memoria virtual para el contenedor de Linux mediante los siguientes pasos.
Paso 1: Inicie la aplicación de escritorio Docker con WSL
Primero, inicie Docker Desktop con WSL. Nos permite ejecutar y administrar contenedores Linux en Windows:
wsl -d docker-escritorio
Paso 2: aumentar la memoria virtual
A continuación, ejecute el siguiente comando para aumentar el límite de memoria virtual para contenedores de Linux:
sistema -En vm.max_map_count= 262144
Después de eso, ejecute el comando 'salir' para salir de WSL:
Paso 3: crea una red
Ahora, cree una red para el contenedor Docker de Elasticsearch. Es opcional pero puede ser beneficioso para propósitos de respaldo para las redes de Elasticsearch:
red acoplable crear elástico
Paso 4: Ejecute Elasticsearch
Ahora, ejecute la imagen de Elasticsearch para instalar y ejecutar la búsqueda de Elastic en el contenedor:
ejecución de la ventana acoplable --nombre es01 --neto elástico -pag 9200 : 9200 -pag 9300 : 9300 -t docker.elastic.co / elasticsearch / búsqueda elástica: 8.8.2
En el comando anterior:
- “ -nombre ” está especificando el nombre del contenedor de Elasticsearch.
- “ -neto El indicador ” se utiliza para incrustar la red externa.
- “ -pag La opción está definiendo los puertos del contenedor de Elasticsearch.
- “ -t ” se utiliza para asignar el “ TTY-pseudo ” terminal al contenedor:
El siguiente resultado muestra que hemos ejecutado con éxito el contenedor de Elasticsearch y resuelto el ' Elasticsearch no salió normalmente ' error.
Aquí, el contenedor generará el ' elástico ” contraseña del usuario. Con estas credenciales, el usuario puede acceder a Elasticsearch en el navegador. Esto también generará el token para configurar Kibana:
Paso 5: Verificación
Navegar a ' http://localhost:9200 ” en su navegador y verifique que, ya sea que el contenedor se ejecute en el puerto especificado o no:
El resultado anterior indica que hemos ejecutado con éxito el contenedor en el puerto ' 9200 ” y resolvió el “ Elasticsearch no salió normalmente ' error.
Conclusión
Para resolver el “ Elasticsearch no salió normalmente ” error, los usuarios deben aumentar el límite de memoria virtual para el contenedor de Linux. Para hacerlo, primero inicie el escritorio de Docker con WSL usando “ wsl -d docker-desktop ' dominio. Después de eso, aumente el límite de memoria virtual usando el ' sysctl -w vm.max_map_count=262144 ' dominio. Luego, vuelva a ejecutar la imagen para crear e iniciar el contenedor de Elasticsearch. Esta publicación ha ilustrado el método para corregir el error 'Elasticsearch no salió normalmente'.