Elasticsearch之recovery

定义

recovery是一个索引的分片分配到另外一个节点的过程,一般发生在快照恢复,索引复制分片的变更,节点故障或者重启节点时候发生。recovery的过程消耗额外的资源cpu 内存 节点点的网络带宽等等。

减少集群full restart造成的数据来回拷贝

  1.在集群启动的过程中,一旦有了多少启动成功再执行恢复的过程 master节点和data节点都算在其中

1 gateway.expected_nodes: 3

  2.有几个master节点启动成功,就执行恢复的过程

1 gateway.expected_master_nodes: 3

  3.有几个data节点启动成功,就执行恢复的过程

1 gateway.expected_data_nodes: 3

在上述条件满足之前,恢复的过程会等待指定的事件,一旦超时,则会根据下面的条件判断

1 gateway.recover_after_nodes: 3    # 3个节点(master和data节点都算)启动成功
2 gateway.recover_after_master_nodes: 3  # 3个有master资格的节点启动成功
3 gateway.recover_after_data_nodes: 3   # 3个有data资格的节点启动成功

上述过程满足其中一个条件就会执行

1 gateway.expected_data_nodes: 10
2 gateway.recover_after_time: 5m
3 gateway.recover_after_data_nodes: 8

表示:此时的集群在5分钟内,有10个data节点都加入集群,或者5分钟后有8个以上的data节点加入集群,都会启动recovery的过程。

减少主副本之间的数据的拷贝

重启单个节点,也会带来不同节点之间来回复制,避免这种情况,可以在重启之前,关闭集群的shard allocation

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

在节点重启后再执行

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

 

转载于:https://www.cnblogs.com/Alexephor/p/11411820.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值