目前我设置total_shards_per_node保证分片均匀分配,但是这样只能保证每个节点上的分片数量相同,主副本分配还是随机的。
例如索引有12个分片,分配在3个节点。有的节点可能是3主1副分片,有的节点是1主3副分片。
这样在写入负载较高的索引上,实际运行时会导致比较明显的cpu资源不均衡,3主1副的节点cpu使用明显高于1主3副的。
即使我手动把分片调整为每个节点都是2主2副,也经常会因为自动均衡或者偶尔有主副分片切换,导致重新不均衡。
有没有什么分片分配的设置,能让ES自动保证主分片和副本分片都要保持平均呢?
例如索引有12个分片,分配在3个节点。有的节点可能是3主1副分片,有的节点是1主3副分片。
这样在写入负载较高的索引上,实际运行时会导致比较明显的cpu资源不均衡,3主1副的节点cpu使用明显高于1主3副的。
即使我手动把分片调整为每个节点都是2主2副,也经常会因为自动均衡或者偶尔有主副分片切换,导致重新不均衡。
有没有什么分片分配的设置,能让ES自动保证主分片和副本分片都要保持平均呢?
1 个回复
pony_maggie - 公众号:犀牛饲养员的技术笔记
赞同来自: