概述
继续跟中华石杉老师学习ES,第71篇
课程地址: https://www.roncoo.com/view/55
官方指导
启动ES https://www.elastic.co/guide/en/elasticsearch/reference/current/starting-elasticsearch.html#starting-elasticsearch
停止ES https://www.elastic.co/guide/en/elasticsearch/reference/current/stopping-elasticsearch.html
启动 ES
可以从命令行启动Elasticsearch,如下所示:
代码语言:javascript复制./bin/elasticsearch
默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout),可以通过按停止Ctrl-C。
后台运行
在生产环境中,会使用daemon进程的方式来启动es,而不是直接采用前台进程的方式来启动es,具体命令如下
代码语言:javascript复制./bin/elasticsearch -d -p pid
上面命令中的-d option用来指定es以daemon进程方式启动,并且-p option指定将进程id记录在指定文件中.
es启动后,日志信息可以在ES_HOME/logs目录中查看
此外,启动es进程的时候,还可以直接覆盖一些配置,使用-E即可
优雅的关闭 ES
停止ES https://www.elastic.co/guide/en/elasticsearch/reference/current/stopping-elasticsearch.html
优雅的关闭es,可以确保es关闭的很干净,并且优雅关闭资源。举例来说,如果node在一个合理的顺序下关闭了,首先会将自己从cluster中优雅移除,fsync translog日志到磁盘中去,然后执行其他相关的cleanup活动。
如果我们将es用service的方式来运行,那么可以通过server管理功能来停止es。
如果我们是直接启动es的,可以control-C停止es,或者是发送SEGTERM信号给es进程
代码语言:javascript复制jps | grep Elasticsearch
kill -SIGTERM 15516
如果es发生了fatal error,类似out of memory error,代码bug,或者io error,等等
当es发现jvm有一个fatal error,就会尝试记录在log里面,然后尝试去停止jvm。
此时es是不会按照优雅关闭的模式去执行的,而是会直接关闭,并且返回一个错误码
- JVM internal error 128
- JOut of memory error 127
- JStack overflow error 126
- JUnknown virtual machine error 125
- JSerious I/O error 124
- JUnknown fatal error 1