停止Elasticsearch
Elasticsearch的有序关闭确保Elasticsearch有机会清理并关闭未清理的资源,例如,以有序方式关闭的节点将从集群中删除自身,将translog同步到磁盘,并执行其他相关的清理活动,你可以通过适当地停止Elasticsearch来帮助确保有序关闭。
如果将Elasticsearch作为服务运行,可以通过安装提供的服务管理功能停止Elasticsearch。
如果直接运行Elasticsearch,可以通过发送control-C
来停止Elasticsearch,如果你正在控制台运行Elasticsearch,或者通过向POSIX
系统上的Elasticsearch进程发送SIGTERM
,你可以通过各种工具(例如ps
或jps
)获得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 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。