Respuesta actualizada.
_shutdown
La API se ha eliminado en elasticsearch 2.x.
Algunas opciones:
En su terminal (básicamente en modo dev), simplemente escriba "Ctrl-C"
Si lo inició como un demonio ( -d
) busque el PID y finalice el proceso: SIGTERM
cerrará Elasticsearch limpiamente ( kill -15 PID
)
Si se ejecuta como un servicio, ejecute algo como service elasticsearch stop
:
Respuesta anterior. Ahora está en desuso de 1.6.
Si. Consulte la documentación de cierre de los nodos del clúster de administración
Básicamente:
# Shutdown local node
$ curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown'
# Shutdown all nodes in the cluster
$ curl -XPOST 'http://localhost:9200/_shutdown'
Si solo desea aplicar una nueva configuración, no es necesario que la apague.
$ sudo service elasticsearch restart
Pero si quieres cerrarlo de todos modos:
$ sudo service elasticsearch stop
O
$ sudo systemctl stop elasticsearch.service
$ sudo systemctl restart elasticsearch.service
Estibador:
docker restart <elasticsearch-container-name or id>
fuente
Esto me funciona en OSX.
fuente
Detener el servicio y matar el demonio son de hecho las formas correctas de cerrar un nodo. Sin embargo, no se recomienda hacerlo directamente si desea eliminar un nodo para su mantenimiento. De hecho, si no tiene réplicas, perderá datos.
Cuando apaga directamente un nodo, Elasticsearch esperará 1 m (tiempo predeterminado) para que vuelva a estar en línea. Si no es así, comenzará a asignar los fragmentos de ese nodo a otros nodos, desperdiciando muchos IO.
Un enfoque típico sería deshabilitar la asignación de fragmentos temporalmente emitiendo:
Ahora, cuando elimina un nodo, ES no intentará asignar fragmentos de ese nodo a otros nodos y puede realizar su actividad de mantenimiento y luego, una vez que el nodo está activo, puede habilitar la asignación de fragmentos nuevamente:
Fuente: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/restart-upgrade.html
Si no tiene réplicas para todos sus índices, entonces realizar este tipo de actividad tendrá tiempo de inactividad en algunos de los índices. Una forma más limpia en este caso sería migrar todos los fragmentos a otros nodos antes de eliminar el nodo:
Esto moverá todos los fragmentos de
10.0.0.1
otros nodos (tomará tiempo dependiendo de los datos). Una vez que todo esté hecho, puede matar el nodo, realizar el mantenimiento y volver a ponerlo en línea. Esta es una operación más lenta y no es necesaria si tiene réplicas.(En lugar de _ip, _id, _name con comodines funcionará bien).
Más información: https://www.elastic.co/guide/en/elasticsearch/reference/5.5/allocation-filtering.html
Otras respuestas han explicado cómo matar un proceso.
fuente
El complemento Head para Elasticsearch proporciona una excelente interfaz basada en web para la administración de Elasticsearch, incluido el cierre de nodos. También puede ejecutar cualquier comando de Elasticsearch.
fuente
utilice el siguiente comando para conocer el pid del nodo que ya se está ejecutando.
Me tomó una hora encontrar la forma de matar el nodo y finalmente pude hacerlo después de usar este comando en la ventana del terminal.
fuente
Si no puede encontrar qué proceso está ejecutando elasticsearch en la máquina con Windows, puede intentar ejecutarlo en la consola:
Busque el puerto que se está ejecutando elasticsearch, el valor predeterminado es
9200
. La última columna es el PID para el proceso que utiliza ese puerto. Puede apagarlo con un simple comando en la consolafuente
En caso de que desee encontrar el PID de la instancia y finalizar el proceso, asumiendo que el nodo está escuchando el puerto 9300 (el puerto predeterminado), puede ejecutar el siguiente comando:
Es posible que tenga que jugar con los números en el código mencionado anteriormente, como 58 y 1
fuente
Respuesta para Elasticsearch dentro de Docker:
Simplemente detenga el contenedor Docker. Parece detenerse con gracia porque registra:
fuente
Considerando que tienes 3 nodos.
Prepara tu clúster
Detenga el servicio de elasticsearch en cada nodo
Reiniciando el clúster nuevamente
Probado en Elasticseach 6.5
Fuente:
fuente
Si está ejecutando un nodo en localhost, intente usar
brew service stop elasticsearch
Ejecuto elasticsearch en iOS localhost.
fuente