--- title: "非法的分片路由状态 (illegal_shard_routing_state_exception) 错误排查与解决" date: 2026-02-06 lastmod: 2026-02-06 description: "illegal_shard_routing_state_exception 表示分片路由状态与操作不匹配,通常由分片正在迁移或分配引起。" tags: ["分片", "路由状态"] summary: "为什么这个错误发生 # illegal_shard_routing_state_exception 表示分片路由状态与操作不匹配。 如何修复 # 1. 检查分片路由信息 # GET /_cat/shards?v&h=index,shard,prirep,state,node 2. 等待分片分配完成 # GET /_cluster/health?wait_for_no_relocating_shards=true 3. 触发重新分配 # POST /_cluster/reroute?retry_failed=true 预防措施 # 避免在分片迁移时执行操作 " --- ## 为什么这个错误发生 `illegal_shard_routing_state_exception` 表示分片路由状态与操作不匹配。 ## 如何修复 ### 1. 检查分片路由信息 ```bash GET /_cat/shards?v&h=index,shard,prirep,state,node ``` ### 2. 等待分片分配完成 ```bash GET /_cluster/health?wait_for_no_relocating_shards=true ``` ### 3. 触发重新分配 ```bash POST /_cluster/reroute?retry_failed=true ``` ### 预防措施 - 避免在分片迁移时执行操作