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

版本: 7.3-8.9

简而言之,当 Elasticsearch 尝试在分片重新分配或恢复期间在节点之间传输文件时,会发生此错误并失败。这可能是由于网络问题、磁盘空间问题或文件系统错误造成的。要解决此问题,您可以检查节点之间的网络连接,确保有足够的磁盘空间,并验证文件系统完整性。此外,请检查 Elasticsearch 日志以获取更详细的错误信息。如果问题仍然存在,请考虑重启 Elasticsearch 节点甚至整个集群。

日志上下文 #

日志 “sendFileStep failed” 类名是 RecoverySourceHandler.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

assert Transports.assertNotTransportThread(RecoverySourceHandler.this + "[phase1]");
 phase1(safeCommitRef.getIndexCommit(); startingSeqNo; () -> estimateNumOps; sendFileStep);
 }; onFailure));  } catch (final Exception e) {
 throw new RecoveryEngineException(shard.shardId(); 1; "sendFileStep failed"; e);
 }
 }
 assert startingSeqNo >= 0 : "startingSeqNo must be non negative. got: " + startingSeqNo;  sendFileStep.addListener(ActionListener.wrap(r -> {