如何重新平衡shard elasticsearch

时间:2014-08-05 09:52:43

标签: elasticsearch

存储在群集中的数据不平衡。我怎样才能重新平衡它?

Link to snapshot of cluster

1 个答案:

答案 0 :(得分:4)

分片本身是不成比例的问题,还是节点没有以最佳方式平衡所有分片?您可以手动将分片重新路由到不同的节点,但我不确定是否有办法让分片重新平衡自己以使其大小相等。如果您发现elasticsearch的默认分片行为仍然过于偏重(基于您的文档集),您可以实现自己的路由以更均匀地分配有效负载。

如果您想尝试将分片重新路由到不同的节点,下面是一个示例命令:

curl -XPOST 'localhost:9200/_cluster/reroute' -d '{
    "commands" : [ {
        "move" :
            {
              "index" : "test", "shard" : 0,
              "from_node" : "node1", "to_node" : "node2"
            }
        },
        {
          "allocate" : {
              "index" : "test", "shard" : 1, "node" : "node3"
          }
        }
    ]
}'