问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ElasticSearch源码:Shard Allocation与Rebalance(1)

发布网友 发布时间:2024-10-04 09:40

我来回答

1个回答

热心网友 时间:2024-10-09 22:37

ElasticSearch源码版本 7.5.2


遇到ES中未分配分片的情况时,特别是在大型集群中,处理起来会比较复杂。Master节点负责分片分配,通过调用allocationService.reroute方法执行分片分配,这是关键步骤。


在分布式系统中,诸如Kafka和ElasticSearch,平衡集群内的数据和分片分配是至关重要的。Kafka的leader replica负责数据读写,而ElasticSearch的主分片负责写入,副分片承担读取。如果集群内节点间的负载不平衡,会严重降低系统的健壮性和性能。主分片和副分片集中在某个节点的情况,一旦该节点异常,分布式系统的高可用性将不复存在。因此,分片的再平衡(rebalance)是必要的。


分片分配(Shard Allocation)是指将一个分片指定给集群中某个节点的过程。这一决策由主节点完成,涉及决定哪个分片分配到哪个节点,以及哪个分片为主分片或副分片。


分片分配(Shard Allocation)

重要参数包括:cluster.routing.allocation.enable,该参数可以动态调整,控制分片的恢复和分配。重新启动节点时,此设置不会影响本地主分片的恢复。如果重新启动的节点具有未分配的主分片副本,则会立即恢复该主分片。


触发条件

分片分配的触发条件通常与集群状态有关,具体细节在后续段落中展开。


分片再平衡(Shard Rebalance)

重要参数包括:cluster.routing.rebalance.enable,用于控制整个集群的分片再平衡。再平衡的触发条件与集群分片数的变化有关,操作需要在业务低峰期进行,以减少对集群的影响。


再平衡策略的触发条件主要由以下几个参数控制:


定义分配在节点的分片数的因子阈值。
定义分配在节点某个索引的分片数的因子阈值。
超出这个阈值时就会重新分配分片。

从逻辑角度和磁盘存储角度考虑,再平衡可确保集群中每个节点的分片数均衡,避免单节点负担过重。同时,确保索引的分片均匀分布,避免集中在某一分片。


再平衡决策

再平衡决策涉及两个关键组件:分配器(allocator)和决策者(deciders)。


分配器负责寻找最优节点进行分片分配,通过将拥有分片数量最少的节点列表按分片数量递增排序。对于新建索引,分配器的目标是以均衡方式将新索引的分片分配给集群节点。


决策者依次遍历分配器提供的节点列表,判断是否分配分片,考虑分配过滤规则和是否超过节点磁盘容量阈值等因素。


手动执行再平衡

客户端可以通过发起POST请求到/_cluster/reroute来执行再平衡操作。此操作在服务端解析为两个命令,分别对应分片移动和副本分配。


内部模块执行再平衡

ES内部在触发分片分配时会调用AllocationService的reroute方法来执行再平衡。


总结

无论是手动执行再平衡命令还是ES内部自动执行,最终都会调用reroute方法来实现分片的再平衡。再平衡操作涉及两种主要分配器(GatewayAllocator和ShardsAllocator),每种分配器都有不同的实现策略,以优化分配过程。决策者(Deciders)在再平衡过程中起关键作用,确保决策符合集群状态和性能要求。再平衡策略和决策机制确保了ElasticSearch集群的高效和稳定运行。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
虹口区东余杭路541弄算几号地块?12年下半年号称要拆,附近都在拆类,明... 我想知道新建路东余杭路这二年有没有拆迁规划? 手机通话变声器哪种好 变声器哪个好用 我准备7月底开始复习考研,还来得及吗 大四下学期考研还来得及吗 考研还来得及吗 ...在脊椎骨右边靠脊椎骨附近疼,是什么原因,大概有半个多月了,弯腰时... 电脑开着总是无缘无故蓝屏提示 电脑开着总是无缘无故蓝屏 电脑无缘无故蓝屏怎么回事探究电脑突然蓝屏的原因 请问什么样的日语词典好? 工业机器人专业可以考二建吗 二级建造师一般月收入高吗 二级建造师是全国一样的吗 怎么判断根号下的式子是最简根式? 中国好人榜各省排名 中国好人有哪些人物代表? ...年8月3日,上午10点20分出生的,帮忙大师取个好名字 阳历1977年10月3日8点25分出生的女孩属什么五行?缺什么?忌什么?姓廖... 恒瑞医药为什么股价降那么多? 抖音的钻卡怎么送给好友啊? 家常炖牛肉土豆 ...引入国内一流生活美学教育,福元昌成为弘益大学堂城市驿站 开本田冠道的人有钱吗 2024年春节后气温还会下降吗春节后的天气有什么变化 2024年立春之后多久才能暖和,2024立春是农历几月几日 手机关机了微信语音还能收到吗 2024年春分过后气温回升吗春分的气温有什么变化 2024年立春后多久北方才会真正暖和 2024年立春后多久暖和2024年立春后天气有什么变化 源码详解 Elasticsearch refresh 机制 ElasticSearch源码:线程池(2) ElasticSearch源码:数据类型 请问有没有国产plc推荐? - 知乎 家里潮湿就会有螨虫细菌滋生,白元除螨喷雾能改善现状吗? 为何聪明的杨修被曹操给除掉了,司马懿却没有? 曹操杀杨修而留下司马懿,他为何区别对待? 杨修和司马懿相比 两人的命运为什么完全不同 四到五个人的搞笑校园小品,道具尽量少点,剧本尽量短点,谢了~~~ 如何让猫不在楼道里乱拉撒 外面下雨急坏赶路人 人急我不急;求下联 感情顺其自然一切随缘句子精选118句 刚才捡了只小野猫给他洗澡时发现他身上有跳蚤,我家会不会也出现跳蚤... 小猫身上有跳蚤 那我的屋子里会不会有!! 这样家里会有跳蚤吗! 8月20号从襄县到平顶山需要做核酸吗 我家狗身上起小肉瘤,20个左右,很能挠痒痒,身上都挠的红了,我现在给它... 我家狗狗半年大,起耳螨了,窜身上了,身上都叫他自己挠破了。家里用药尓... ...身上痒,到处蹭,突然痒起来就疯跑,要我给他挠,洗了澡也没用,是不是... 雪纳瑞身上一直痒痒,一直挠,弄得家人身上也痒痒。各位大神给看看是怎...