Carlos Eduardo Magallon Zepeda
Claudio Pedalino
Comentario salvador... te ganaste un espacio en el cielo...
Walter De Jesús Medina Puy
Es falta de memoria RAM? o memoria de disco duro?
Paso 1 - Instalar Postman
Para instalar Postman accedes a la URL https://www.postman.com/downloads/ la cual te provee con el instalador de tu sistema operativo.
Windows
Para la instalación en Windows, bajamos el archivo *.exe. Luego lo abrimos y finalizamos la instalación.
![]()
Mac
![]()
Para la instalación en Mac bajamos el archivo *.zip que contiene el instalador. Luego descomprimes este archivo y te queda un instalador llamado Postman 2.
Haces doble clic sobre instalador y aparece una ventana recordando que es un ejecutable bajado de internet, le das clic en abrir.
Luego el instalador te pregunta si quieres mover la aplicación al folder de Applications, le das que sí quieres moverla y enseguida tendrás la aplicación abierta y lista para usar.
Paso 2 - Crear archivo de configuración
Para crear el archivo de configuración te recomiendo utilices un directorio personalizado para este curso, en el cual puedas guardar todos los archivos que usarás. Entonces lo primero será crear este directorio y entrar en él.
Nota: los siguientes comandos se deben ejecutar en una terminal
$ mkdir curso-elastic-platzi
$ cd curso-elastic-platzi
Ahora abres un editor de texto (te recomiendo Visual Studio Code) y creas un archivo dentro de este directorio. El nombre del archivo es docker-compose.yml
Una vez creado el archivo, le vas a agregar la siguiente configuración:
version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - cluster.initial_master_nodes=es01 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic volumes: data01: driver: local networks: elastic: driver: bridge
Este archivo es basado en las configuraciones recomendadas para correr Elasticsearch con Docker. Esta guía se puede consultar en https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docker.html.
Acá un breve repaso de lo que hace este archivo:
Por último guardamos el archivo.
Paso 3 - Levantar el servicio
Luego de tener el archivo listo, le dices a Docker que levante el servicio ejecutando el siguiente comando:
$ docker-compose up
Este comando se encarga de ejecutar las directivas que especificamos en el archivo dejando el servicio de Elasticsearch funcionando correctamente en el puerto 9200. Esto puede tomar unos segundos mientras se configura el contenedor y se levanta el servicio.
Para comprobar que Elasticsearch ya está corriendo sobre tu máquina, abres Postman y ejecutas un GET sobre la url http://localhost:9200. Si todo salió, correctamente verás un resultado similar a este:
¡Listo! te veo en la siguiente clase.
Carlos Eduardo Magallon Zepeda
Claudio Pedalino
Comentario salvador... te ganaste un espacio en el cielo...
Walter De Jesús Medina Puy
Es falta de memoria RAM? o memoria de disco duro?
Harrison Martinez
Victor Parra
Me funciono, gracias. De la otra forma, me marcaba error es01 exited with code 78
Sergio de Jesús Huesca Nieva
Vengo a dejar mis agradecimientos pues resolvieron mi problema!
Iraida Mercedes Barreto Díaz
Jairo Salazar
muchas gracias iraida me has salvado
Antonio Rafael González Ferrer
Gracias totales!
Jose Antonio Marín López
En Windows he tenido problemas para arrancar ElasticSearch sobre docker. He podido arrancarlo al modificar el environment con los siguientes parámetros: ` - node.name=es01
Básicamente he eliminado cluster.initial_master_nodes=es01 y he añadido discovery-type=single-node, para hacer que ElasticSearch utilice clúster de un solo nodo en su almacenamiento.
Harrison Martinez
Gracias!
Sergio de Jesús Huesca Nieva
Gracias por el aporte, me ayudo mucho.
Saludos!
Bárbara de los Ángeles Morantes Carvajal
He visto que varias personas han tenido problemas para poner a correr Elasticsearch en Windows, les paso un tutorial que hice sobre otra manera que encontre de hacerlo, espero les sirva https://platzi.com/tutoriales/1912-intro-elasticsearch/9839-otra-forma-de-usar-elasticsearch-en-windows/ c:
Jeison Enrique Sanchez Valencia
Que buen aporte, muchas gracias
Bárbara de los Ángeles Morantes Carvajal
¡Gracias a ti @jeico1789 !, por comentar, me alegra haberte ayudado c:
Para que funcione en MAC con Chip M1 tuve que hacer algunas modificaciones al archivo de Docker.
version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2-arm64 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - cluster.initial_master_nodes=es01 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic volumes: data01: driver: local networks: elastic: driver: bridge
Felipe Hernández
Elias Hidalgo
Me funciono perfecto! Gracias!!!
Luis Fernando Pedroza Taborda
Funciono perfectamente, gracias por el aporte.
Harrison Martinez
Para detener el servicio:
docker stop es01
Para subir el servicio:
docker start es01
Pedro Iván Juárez Cornejo
Y en que momento se menciona como instalar Docker :/
Xareni Wang Chen
Hola! Yo tuve problemas para realizar la instalación y encontré la solución poniendo este docker-compose, espero sea de utilidad:
version: '2.2' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.8.0 container_name: elasticsearch environment: - node.name=elasticsearch - discovery.seed_hosts=elasticsearch - cluster.initial_master_nodes=elasticsearch - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - esdata1:/usr/share/elasticsearch/data ports: - 9200:9200 kibana: image: docker.elastic.co/kibana/kibana:7.8.0 container_name: kibana environment: ELASTICSEARCH_URL: "" ports: - 5601:5601 depends_on: - elasticsearch volumes: esdata1: driver: local
Para ello tuve que borrar todas las imágenes ya hechas anteriormente y luego correrlo con docker-compose up
Omar D
Yo modifiqué un poco y quedó el siguiente docker-compose.yml funcional
version: '3.7' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0 container_name: elasticsearch environment: - discovery.type=single-node ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic volumes: data01: driver: local networks: elastic: driver: bridge
Julian David Alzate Cuervo
gracias por la ayuda
Johan Quijano
Saludos, no me funciona. Dic de 2020. Hice todos los pasos, al momento de ejecutar el docker, no aparece nada en el localhost 9200 y en la consola docker no quiere subir, intenta, pero luego aparece inactivo. No aparecen errores. Yo creo que faltó un video con estos pasos, no puedo avanzar en el curso ahora.
Jeferson Apaza
me paso lo mismo , intenta reasignando la memoria con este comando ' sudo sysctl -w vm.max_map_count=262144 ' , me soluciono el problema
Jose Misael Cubillos Jimenez
Obtuve el mismo error que menciona @Jeferson Apaza, en mi caso que uso windows para solucionarlo, en la terminal de Power Shell ejecuté los dos siguientes comandos:
wsl -d docker-desktop sysctl -w vm.max_map_count=262144
Luego de eso me funcionó correctamente.
Gonzalo Muñoz
Perfect.
Gracias!
Irmin Corona 🐯
version: '3.7' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0 container_name: elasticsearch environment: - discovery.type=single-node ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic volumes: data01: driver: local networks: elastic: driver: bridge
Edwin Clavijo
Muchas gracias.
Juan David Gomez Forero
si a alguno le salió un error similar a este en iOS:
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory')) [64323] Failed to execute script docker-compose
prueben ejecutando el siguiente comando.
docker start up
si les responde esto:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Error: failed to start containers: up
ahí e podrán dar cuenta si el demon de docker esta corriendo o no.
En mi caso la solución fue abrir la aplicación docker de escritorio, luego si ejecuté el comando "docker-compose up" y levantó lo mas de bello
Eduardo Aguilar Yepez
Aca les dejo una version simplificada del docker-compose...
version: '3.1' services: elastic: image: elasticsearch:7.14.2 container_name: elastic environment: - discovery.type=single-node volumes: - ./data:/usr/share/elasticsearch/data ports: - 9300:9300 - 9200:9200 networks: - elastic networks: elastic: driver: bridge
Esto es siguiendo la doc de la imagen oficial en DockerHub
para ejecutar esto solo necesitar crear una carpeta data jutno a su archivo docker-compose.yml y darle permisos de acceso de la siguiente forma:
mkdir data && sudo chmod -R 777 data
Despues podran ejecutar docker-compose up sin ningun problema.
H. Alfredo Arrieta
Solucion al error al compilar en Windows/Linux en 3 simples pasos:
Si tenes Windows, instala la terminal GNU/Linux que prefieras:
Ubuntu 20.04 LTS
openSUSE Leap 15.1
SUSE Linux Enterprise Server 15 SP1
Kali Linux
Debian GNU/Linux
Corre el codigo:
sudo sysctl -w vm.max_map_count=262144
Saludos xD
Hector Antruejo
Si os da un error de memoria (es01 exited with code 78) probar lo que pone en la documentación: https://www.elastic.co/guide/en/elasticsearch/reference/7.12/docker.html#_set_vm_max_map_count_to_at_least_262144
$ sudo sysctl -w vm.max_map_count=262144 $ sudo docker-compose up
Jeiner Muñoz Olivera
Completé todos los pasos, pero no he podido levantar el servicio. Probé algunas soluciones de otros compañeros, pero ninguna me funcionó. ¿Alguien que me ayude?
Sergio de Jesús Huesca Nieva
tu docker estaba corriendo ??
Si alguien tiene GNU/Linux y le sale un error como este al intentar levantar el servicio con docker-compose:
es01 | [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] es01 | ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/es-docker-cluster.log es01 | {"type": "server", "timestamp": "2020-06-26T01:04:28,625Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es01", "message": "stopping ..." } es01 | {"type": "server", "timestamp": "2020-06-26T01:04:28,649Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es01", "message": "stopped" } es01 | {"type": "server", "timestamp": "2020-06-26T01:04:28,649Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es01", "message": "closing ..." } es01 | {"type": "server", "timestamp": "2020-06-26T01:04:28,666Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "es-docker-cluster", "node.name": "es01", "message": "closed" } es01 | {"type": "server", "timestamp": "2020-06-26T01:04:28,668Z", "level": "INFO", "component": "o.e.x.m.p.NativeController", "cluster.name": "es-docker-cluster", "node.name": "es01", "message": "Native controller process has stopped - no new native processes can be started" } es01 exited with code 78
Es por falta de memoria en el host, para solucionar el problema deben aumentar la memoria disponible en el host de la corriendo el siguiente comando en consola:
sudo sysctl -w vm.max_map_count=262144
Sí, ya sé que modificar el host mata por completo el propósito de estar usando Docker pero es justamente lo que recomiendan en la página oficial de elasticsearch, espero modifiquen su postura en el futuro.
segui la ayuda de @jamarin_ y deje el docker-compose.yml de la siguiente forma y funciono:
version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - bootstrap.memory_lock=true - discovery.type=single-node - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic volumes: data01: driver: local networks: elastic: driver: bridge
Para el problema vm.max_map_count is too low en Windows con docker desktop me funcionó la siguiente solución: (btw, hay que tener wsl activo)
Usando Powershell ejecuto el siguiente comando para que use la distribución de docker-desktop :
wsl -d docker-desktop
Consulto el valor de memoria asignada actual (debe ser 65530) con el comando:
wsl -d docker-desktop cat /proc/sys/vm/max_map_count
Luego el reasigno el valor con:
wsl -d docker-desktop sysctl -w vm.max_map_count=262144
Repito el paso dos para confirmar el valor reasignado, debe ser 262144. Luego vuelvo a ejecutar el comando con docker-compose up. En mi caso no fue necesario reiniciar el docker desktop pero si no ejecuta prueben esta opción y ya me ejecuta la petición en Postman.
Hola, si alguien tiene problemas con las ultimas versiones de elastic comparto esta configuración que me funcionó.
version: "3.7" services: es01: image: elasticsearch:7.4.2 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.type=single-node volumes: - elastic:/usr/share/elasticsearch/data networks: - elastic ports: - 9200:9200 - 9300:9300 networks: elastic: driver: bridge volumes: elastic: