停机维护时操作步骤
1、关闭分片分配

此操作会停止所有的分片动作,以及分片的数据移动。

PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}
2、执行同步刷新
POST _flush/synced
3、关闭自动平衡(重要)

这一项很重要,如果配置了关闭分片分配,没有关闭自平衡,也会在打开分片分配之后出现集群自平衡

PUT /_cluster/settings?pretty
{
"transient" : {
"cluster.routing.rebalance.enable" : "none"
}
}

设置以后需要手动验证一下

curl http://{host}:9200/_cluster/settings?pretty
4、延迟副本分片的分配
PUT /_all/_settings
{
"settings": {
"index.unassigned.node_left.delayed_timeout": "5m"
}
}
上面的步骤都做完了,集群自平衡关闭了,分片功能关闭了,就可以停机维护服务

5、重启之后

打开分片分配,就会把分片上数据不一致的进行同步,不会出现再平衡

PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}

curl -X PUT "192.168.10.20:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
"persistent": {
"cluster.routing.allocation.enable": "primaries"
}
}
'
curl -X POST "192.168.10.20:9200/_flush/synced?pretty"

[root@confluence_elk-es ~]# curl 'http://192.168.10.20:9200/_cat/nodes?v'
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.1.10 86 98 35 1.55 1.85 2.57 mdi * server4
192.168.1.20 75 99 36 0.86 0.98 1.28 mdi - server2
192.168.1.30 55 99 2 0.00 0.12 0.35 mdi - server3
192.168.1.40 70 95 11 0.81 1.20 1.80 mdi - server5
192.168.1.50 77 97 36 0.96 1.56 2.61 mdi - server1

curl -XPUT -H 'Content-Type:application/json' http://192.168.10.20:9200/_cluster/settings -d '
{
"transient" : {
"cluster.routing.allocation.enable" : "all"
}
}'

这一步加快分片同步速度。把线程修改为10,最大传输根据实际情况而定。

curl -X PUT "192.168.10.20:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
"persistent": {
"cluster.routing.allocation.node_concurrent_recoveries": 10,
"indices.recovery.max_bytes_per_sec": "40mb"
}
}
'
如下四步:
curl -X PUT "192.168.1.20:9200/_cluster/settings?pretty" -H 'Content-Type: application/json' -d'
{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}
'

curl -X POST "192.168.1.20:9200/_flush/synced?pretty"

curl -XPUT -H 'Content-Type:application/json' http://192.168.1.20:9200/_cluster/settings -d '
{
"transient" : {
"cluster.routing.rebalance.enable" : "none"
}
}'

curl -XPUT -H 'Content-Type:application/json' http://192.168.1.20:9200/_cluster/settings -d '
{
"transient" : {
"cluster.routing.allocation.enable" : "all"
}
}'

最后修改日期:2021年1月6日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。