在测试环境中,由于某个分片损坏,导致整个集群状态为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.youkuaiyun.com/kezhen/article/details/79379512,写得非常全
本文介绍了解决Elasticsearch集群中因分片损坏导致集群状态变红的问题。提供了三种解决方案:恢复源节点并加入集群、使用Reroute API强制重分配分片、从原始数据重建索引或从备份快照恢复。
1688

被折叠的 条评论
为什么被折叠?



