在5.6.9版中,我们有4个ElasticSearch节点,对于某些先前的规则,它们在每个节点中具有不平衡数量的分片。
我们发现我们可以一次将一个碎片移动到另一个节点,但这非常慢。
除了创建使用ElasticSearch API平衡分片的脚本外,还有其他方法吗?
答案 0 :(得分:0)
您可以使用集群重新路由进行此操作,它允许手动更改集群中各个分片的分配。查看文档Cluster Reroute
POST /_cluster/reroute
{
"commands" : [
{
"move" : {
"index" : "test", "shard" : 0,
"from_node" : "node1", "to_node" : "node2"
}
},
{
"allocate_replica" : {
"index" : "test", "shard" : 1,
"node" : "node3"
}
}
]
}
答案 1 :(得分:0)
我们发现了问题,系统没有自动重新平衡集群的索引,因为我们有cluster.routing.rebalance.enable = none
我们找到了信息here。
集群/重新路由遇到的问题是,根据文档,系统将尝试再次实现自身平衡。无论哪种方式,谢谢您的帮助。