首页/数据/NoSQL 速查/_cluster/reroute 手动分片调拨
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条
ClickHouse56 条时序与列式28 条选型与架构50 条

_cluster/reroute 手动分片调拨

reroute 手动执行分片迁移、副本分配或取消迁移动,命令默认仅演练(dry_run),确认可行后再提交;滥用会打乱自动均衡。

NoSQL 速查数据更新于 2026-10-12
接口POST /_cluster/reroute?dry_run=true|false
常用命令move(迁到指定节点)、allocate_replica(分配未分配副本)、cancel(取消正在进行的迁移)
顺序先 dry_run 看响应中的 explanations 再真实提交

示例

示例
POST /_cluster/reroute?dry_run=true
{
  "commands": [
    {
      "move": {
        "index": "logs-2024.01",
        "shard": 0,
        "from_node": "node-1",
        "to_node": "node-2"
      }
    }
  ]
}
强行把分片塞给已超水位的节点可能触发自动回迁,形成来回搬动;手动调拨前先确认目标节点容量与水位设置。

易错点

  • 命令里写错节点名时干跑就会报错,可先用 _cat/nodes 核对名称
  • 反复手动 move 会让集群持续在搬数据,IO 与恢复带宽被占满,尽量交给自动均衡

数据来源与参考

  • Elasticsearch Guide: Cluster reroute API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌