Elasticsearch大快照因空间不足恢复中断 如何验证已恢复索引完整性
Elasticsearch 快照恢复中断后已恢复索引完整性验证方案
检查索引基础状态
执行命令GET /_cat/indices/<目标索引名>?v,返回结果中满足以下条件即为基础状态正常:status列值为greenpri列显示的主分片数量和该索引原始分片数一致- 不存在
unassigned状态的分片
注:Elasticsearch 索引恢复是原子性操作,单个分片要么完全恢复完成,要么不生效,只有全部分片恢复成功的索引才会被标记为可用状态。
校验索引元数据一致性
- 执行
GET /<目标索引名>/_settings对比索引配置(如副本数、刷新间隔等)是否符合预期 - 执行
GET /<目标索引名>/_mapping核对字段结构、类型是否和原索引完全一致
- 执行
校验数据内容准确性
- 执行
GET /<目标索引名>/_search?q=*&size=0,对比返回的总文档数和该索引原始记录的文档数是否一致 - 抽样查询若干已知存在的主键ID、业务特征字段,确认返回内容符合预期
- 执行
核对恢复任务记录
执行GET /_recovery/<目标索引名>,查看所有分片的stage字段值是否为DONE,且返回结果中无异常报错信息。如果存在分片状态不是DONE,说明该索引恢复未完成,可直接删除后放入后续恢复批次。
补充说明:Elasticsearch 快照恢复默认按索引粒度顺序处理,存储空间不足触发的中断不会影响已经完全恢复完成的索引,只要上述校验全部通过,即可确认该索引完整,无需重复恢复。
内容的提问来源于stack exchange,提问作者Andrei Budaes
相关产品推荐
相关产品推荐

