如何停止/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窗口中使用这个命令了。