如何停止/closures一个elasticsearch节点?

我想用新的configuration重新启动一个elasticsearch节点。 什么是正常closures节点的最佳方式?

查杀过程是closures服务器的最佳方式,还是有一些我可以用来closures节点的魔术URL?

更新了答案。

_shutdown 2.x中_shutdown API已被删除。

一些选项:

  • 在您的terminal(基本上是开发模式),只需键入“Ctrl-C”

  • 如果你把它作为一个守护进程启动( -d ),findPID并且终止进程: SIGTERM将会closuresElasticsearch( kill -15 PID

  • 如果作为一个服务运行,运行一些像service elasticsearch stop

    • Linux的
    • 视窗

以前的答案。 现在已经从1.6弃用了。

是啊。 请参阅pipe理群集节点closures文档

基本上:

 # Shutdown local node $ curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown' # Shutdown all nodes in the cluster $ curl -XPOST 'http://localhost:9200/_shutdown' 

Elasticsearch的Head插件为Elasticsearchpipe理提供了一个很好的基于Web的前端,包括closures节点。 它也可以运行任何Elasticsearch命令。

如果你只是想申请新的configuration,你不需要closures它。

$ sudo service elasticsearch restart

但是如果你想closures它:

$ sudo service elasticsearch stop

以防万一你想find实例的PID并杀死进程,假设节点正在侦听端口9300(默认端口),你可以运行以下命令:

 kill -9 $(netstat -nlpt | grep 9300 | cut -d ' ' -f 58 | cut -d '/' -f 1) 

您可能需要使用上述代码中的数字(如58和1)

如果你不能find什么进程在Windows机器上运行elasticsearch,你可以尝试在控制台中运行:

 netstat -a -n -o 

查找端口elasticsearch正在运行,默认是9200 。 最后一列是使用该端口的进程的PID。 您可以在控制台中用简单的命令closures它

 taskkill /PID here_goes_PID /F 

使用以下命令知道已经运行的节点的pid。

curl -XGET'http :// localhost:9200 / _nodes / process '

我花了一个小时才find杀死节点的方法,终于可以在terminal窗口中使用这个命令了。