在测试环境中,由于某个分片损坏,导致整个集群状态为red,如下图所示:
对于索引index_question_youdao分片0损坏了,导致整个集群出现问题。解决方法:
1)恢复存有0分片的源节点,并加入到集群中(不强制重新分配主分片)
2)使用Reroute API强制重分配分片
-XPOST _cluster/reroute
{
"commands": [
{
"allocate_empty_primary": {
"accept_data_loss": "true",
"index": "index_question_n001",
"node": "node-1",
"shard": 0
}
}
]
}
3)从原始数据重建索引或者从备份快照中恢复
执行期间的状态:
处理完成后的状态:
借鉴了博文:https://blog.csdn.net/kezhen/article/details/79379512,写得非常全