如何在集群中移动分片

Jal*_*lal 3 elasticsearch

我有一个 5 节点集群,每个索引有 5 个索引和 5 个分片。目前每个索引的分片在节点上均匀分布。我需要将属于 2 个不同索引的分片从特定节点移动到同一集群上的不同节点

Vin*_*han 5

您可以使用分片重新路由 API 示例命令如下所示 -

curl -XPOST 'localhost:9200/_cluster/reroute' -H 'Content-Type: application/json' -d '{
    "commands" : [ {
        "move" :
            {
              "index" : "test", "shard" : 0,
              "from_node" : "node1", "to_node" : "node2"
            }
        }
    ]
}'
Run Code Online (Sandbox Code Playgroud)

这会将索引测试的分片 0 从 node1 移动到 node2