您的位置:首页 > 其它

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

2020-02-06 10:42 447 查看

文章目录


概述

继续跟中华石杉老师学习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,如下所示:

./bin/elasticsearch

默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout),可以通过按停止Ctrl-C。

后台运行

在生产环境中,会使用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

优雅的关闭es,可以确保es关闭的很干净,并且优雅关闭资源。举例来说,如果node在一个合理的顺序下关闭了,首先会将自己从cluster中优雅移除,fsync translog日志到磁盘中去,然后执行其他相关的cleanup活动。

如果我们将es用service的方式来运行,那么可以通过server管理功能来停止es。

如果我们是直接启动es的,可以control-C停止es,或者是发送SEGTERM信号给es进程

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
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
小小工匠 博客专家 发布了816 篇原创文章 · 获赞 2026 · 访问量 415万+ 他的留言板 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐