Stopping Elasticsearch

有序关闭Elasticsearch可确保Elasticsearch有机会清理和关闭未完成的资源。例如,以有序方式关闭的节点将从群集中删除自身,将translog同步到磁盘,并执行其他相关的清理活动。您可以通过正确停止Elasticsearch来帮助确保有序关闭。

如果您将Elasticsearch作为服务运行,则可以通过安装提供的服务管理功能停止Elasticsearch。

如果您直接运行Elasticsearch,则可以通过发送control-C来停止Elasticsearch,如果您在控制台中运行Elasticsearch,或者将SIGTERM发送到POSIX系统上的Elasticsearch进程。您可以通过各种工具(例如ps或jps)获取PID以发送信号:

  1. $ jps | grep Elasticsearch
  2. 14542 Elasticsearch

从Elasticsearch启动日志:

  1. [2016-07-07 12:26:18,908][INFO ][node ] [I8hydUG] version[5.0.0-alpha4], pid[15399], build[3f5b994/2016-06-27T16:23:46.861Z], OS[Mac OS X/10.11.5/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_92/25.92-b14]

或者通过在启动时指定写入PID文件的位置(-p ):

  1. $ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d
  2. $ cat /tmp/elasticsearch-pid && echo
  3. 15516
  4. $ kill -SIGTERM 15516

Stopping on Fatal Errors
在Elasticsearch虚拟机的生命周期中,可能会出现某些致命错误,导致虚拟机处于可疑状态。此类致命错误包括内存不足错误,虚拟机内部错误以及严重的I / O错误。

当Elasticsearch检测到虚拟机遇到此类致命错误时,Elasticsearch将尝试记录错误,然后暂停虚拟机。当Elasticsearch启动此类关闭时,它不会按上述顺序关闭。Elasticsearch进程还将返回一个特殊的状态代码,指示错误的性质。

JVM internal error 128
Out of memory error 127
Stack overflow error 126
Unknown virtual machine error 125
Serious I/O error 124
Unknown fatal error 1