Elasticsearch集群重启及滚动升级步骤和官网命令改进
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch集群重启及滚动升级步骤和官网命令改进相关的知识,希望对你有一定的参考价值。
参考技术A 参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/restart-cluster.htmlES集群实际使用中,如果按照官网文档操作,在单个节点操作过程中,会出现分片重新分配的情况。本文对官网的步骤参数进行了修正,使用了transient和persistent结合的方式,不会引发分片重新分配。
发送TERM信号关闭进程
通过命令或者head界面查看。
命令:
如果集群未设置persistent的自动分配分片参数,则不要只使用persistent来关闭自动分配分片,在整个集群重启之前,不生效,会导致在单个节点关闭的情况下,分片迁移到其他节点。要同时设置transient,保证既在单个节点关闭的情况下,分片不会重新分配,也能保证集群重启后,分片不会重新分配。
可以看到,整个集群未关闭重启的情况下,某个节点的重启日志,cluster.routing.allocation.enable并未生效:
整个集群重启后,这个persistence才生效。
使用transient方式关闭分片自动分配即可。
节点重启后,分片仍会处于unsigned状态,开启分片自动分配后,unsigned的分片就会立刻在被重启的节点上生效。
elasticsearch集群安装插件滚动重启步骤
elasticsearch集群安装插件滚动重启步骤
1.先安装好插件(每个节点都要装,root用户执行)
从github上下载对应版本的插件
https://github.com/medcl/elasticsearch-analysis-ik(release上有各版本的安装包,直接改下方下载链接中的版本号下载也行)
进入ES安装根目录执行
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.15.1/elasticsearch-analysis-ik-7.15.1.zip
./bin/elasticsearch-plugin install file:///path/to/elasticsearch-analysis-ik-7.15.1.zip
查看已安装的插件
./bin/elasticsearch-plugin list
2.禁用分片分配。这可以防止Elasticsearch重新平衡(reblance)丢失的分片,可以按如下方式禁用分配
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "primaries"
}
}
3.为了提升集群恢复速度,尽可能先让数据刷盘.如果有任何挂起(pending状态)的索引操作,这个操作将会失败,但可以安全地多次重新执行.如果应用有数据写入最好先暂时停止数据写入
POST /_flush/synced
4.重启节点确认是否已经加入集群
GET _cat/nodes
5.重新启用分片分配,分片再平衡可能需要一些时间。等待群集恢复到green状态后再继续,操作如下
PUT /_cluster/settings
{
"persistent" : {
"cluster.routing.allocation.enable" : "all"
}
}
6.查看集群状态直到green
GET _cluster/health
7.重复2~4步,直到全部节点重启完成,等待集群回复到green,恢复业务写入
以上是关于Elasticsearch集群重启及滚动升级步骤和官网命令改进的主要内容,如果未能解决你的问题,请参考以下文章
Elasticsearch 学习之不停止服务,完成升级重启维护操作