gpt4 book ai didi

elasticsearch - 丢失的数据节点返回后,ElasticSearch会做什么

转载 作者:行者123 更新时间:2023-12-02 23:33:03 27 4
gpt4 key购买 nike

我有一个大型ES群集,其配置为shardplicate = 2,昨天数据节点之一关闭(掉电)。我认为丢失的副本已在其他节点中复制/复制,因此我要说的是,当我将丢失的节点放回群集中时,ES将如何处理丢失的分片/数据?谢谢!

最佳答案

当节点发生故障时,其托管的所有分片都将转换为“未分配” 状态。现在,当未分配分片的分配算法试图尽快分配它们时。它会在分配它们时做出一些努力来平衡它们,但是如果最平衡的节点受到限制,那么它将仅将分片分配给下一个最平衡的节点。这导致它以超快的速度分配所有分片(良好),但会使群集非常不平衡(不良)。

我认为更好的“生产”设置集会说“当一个节点出现故障时,不要将分片重新分配给其他节点”。

似乎 cluster.routing.allocation.enable 应该有一个附加选项: recovery_and_new (这仍然允许重新平衡)。在这种情况下,“恢复”将意味着只能在已经在其上的节点上初始化分片。

这里的假设是,群集具有足够的复制能力,因此丢失单个副本并不是一个大事件,值得触发大量网络流量并可能导致其他问题。

注:对于大型部署,节点关闭或发生某些网络事件后,ES碎片恢复似乎会引起不必要的问题,因为所有碎片最终都会在集群周围混乱,并可能导致其他性能问题。似乎最好保留一些副本未初始化,直到节点再次处于 Activity 状态。

关于elasticsearch - 丢失的数据节点返回后,ElasticSearch会做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34499485/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com