📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简而言之,当Elasticsearch由于磁盘空间不足、快照与当前Elasticsearch版本不兼容或快照文件损坏等原因无法恢复快照时,会出现此错误。要解决此问题,请确保有足够的磁盘空间,检查快照与当前Elasticsearch版本的兼容性,并验证快照文件的完整性。如果快照已损坏,您可能需要创建新的快照。此外,请查看Elasticsearch日志以获取更具体的错误消息,这些消息可以引导您找到根本原因。

日志上下文 #

日志"restore failed"的类名是 StoreRecovery.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入背景的人参考:

indexShard.openEngineAndRecoverFromTranslog();
 indexShard.getEngine().fillSeqNoGaps(indexShard.getPendingPrimaryTerm());
 indexShard.finalizeRecovery();
 indexShard.postRecovery("restore done");
 listener.onResponse(true);
 }; e -> listener.onFailure(new IndexShardRestoreFailedException(shardId; "restore failed"; e)));
 try {
 translogState.totalOperations(0);
 translogState.totalOperationsOnStart(0);
 indexShard.prepareForIndexRecovery();
 final ShardId snapshotShardId;