最近,发现该公司的ES集群磁盘分布非常不平衡。有一个节点磁盘为36%,而其他两个单元的磁盘使用率为70%。
随着时间的流逝,如果其他两个磁盘达到一定的阈值,则会带来的后果,新创建的索引无法正确分配到这两台机器上,从而导致群集具有索引shard Uniplife。
群集状态为黄色。
查询文档发现,ES ==自动平衡是根据shards ==的数量分配的,并且==不根据磁盘空间使用==分配。
这个问题的原因:
至于如何解决这个问题?
对于第一种情况,索引的毛毛数量可以是合理的,例如等于节点数量的碎片数。
对于第二种情况,== es可以决定是否按照磁盘使用量继续分配shard ==。
注意:ES根据磁盘使用分配Shaw。默认设置已打开。您也可以通过API关闭它:cluster.routing.allocation.disk.threshold_enabled:false
在开放的情况下,有两个重要的设置:
注意:可以通过Update-API动态修改水印设置。默认的ES将每30s收集每个节点磁盘的使用。您可以设置要设置的时间间隔。
调整磁盘水位:
API
实际使用命令:
原始:https://juejin.cn/post/7100077021581017118