白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭


文章目录

  • 概述
  • 官方指导
  • 启动 ES
  • 优雅的关闭 ES

白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章图片

概述 继续跟中华石杉老师学习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 白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章图片

可以从命令行启动Elasticsearch,如下所示:
./bin/elasticsearch

默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout),可以通过按停止Ctrl-C。
后台运行
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章图片

在生产环境中,会使用daemon进程的方式来启动es,而不是直接采用前台进程的方式来启动es,具体命令如下
./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
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章图片

白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章图片

优雅的关闭es,可以确保es关闭的很干净,并且优雅关闭资源。举例来说,如果node在一个合理的顺序下关闭了,首先会将自己从cluster中优雅移除,fsync translog日志到磁盘中去,然后执行其他相关的cleanup活动。
【白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭】如果我们将es用service的方式来运行,那么可以通过server管理功能来停止es。
如果我们是直接启动es的,可以control-C停止es,或者是发送SEGTERM信号给es进程
jps | grep Elasticsearchkill -SIGTERM 15516

白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章图片

如果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

    推荐阅读