1

停止Elasticsearch

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

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

如果直接运行Elasticsearch,可以通过发送control-C来停止Elasticsearch,如果你正在控制台运行Elasticsearch,或者通过向POSIX系统上的Elasticsearch进程发送SIGTERM,你可以通过各种工具(例如psjps)获得PID来发送信号:

$ jps | grep Elasticsearch
14542 Elasticsearch

根据Elasticsearch的启动日志:

[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 <path>):

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

致命错误的停止

在Elasticsearch虚拟机的生命周期中,可能会出现某些致命错误,使虚拟机处于可疑状态,这种致命的错误包括内存不足错误、虚拟机内部错误和严重的I/O错误。

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

JVM内部错误 128
内存溢出错误 127
栈溢出错误 126
未知虚拟机错误 125
严重的I/O错误 124
未知的致命错误 1

上一篇:启动Elasticsearch

博弈
2.5k 声望1.5k 粉丝

态度决定一切