愚者求师之过,智者从师之长。

ES的集群平衡算法是怎么算的啊?请教

Elasticsearch | 作者 sterne vencel | 发布于2018年07月13日 | 阅读数:5417

集群版本:5.6.4ES本身应该是平衡的,但是一旦向集群增扩多个节点后,集群开始重平衡。如果加入集群的机器是小磁盘的机器(再设置一下watermark.low的值,使得小磁盘的机器分片少点),就会重平衡个没完没了。
集群索引更新非常频繁,重平衡很耗内存,gc一直overhead.
发现在ES的集群中有个“Shard Balancing Heuristics”的策略。主要关心的是“cluster.routing.allocation.balance.threshold”这个参数,这个参数值越大,集群对于分片平衡越不积极。请问这个值是怎么算出来的。下面是一个参考文章,但是还是不懂。请教
https://zhaoyanblog.com/archives/687.html
 
ES的Shard Balancing Heuristics参考:
https://www.elastic.co/guide/e ... stics
已邀请:

zqc0512 - andy zhou

赞同来自: sterne vencel

你数据肯定很大,新添加节点,默认上面是没有数据的,肯定要平衡很久的,可以考虑把rebalance调整成1
那几个值用默认的就行了。不建议修改。

yayg2008

赞同来自: sterne vencel

新节点加入,涉及到大量数据迁移,集群会比较繁忙。但按默认的限流策略配置,应该不会导致集群不可用。通常可用通过设置恢复并发shard数,网络带宽限制参数来控制。
另外,如果吃不透的参数,切莫直接在生产修改,默认即最优。

要回复问题请先登录注册