版本: 7.4-7.7
简而言之,当 Elasticsearch 无法访问或读取分片目录时会发生此错误。这可能是由于权限不足、磁盘空间问题或分片损坏所致。要解决此问题,您可以尝试以下方法:1) 检查并调整分片目录的权限。2) 如果磁盘空间不足,请释放磁盘空间。3) 如果分片已损坏,考虑删除它并允许 Elasticsearch 从副本重建它。在进行任何更改之前,请务必备份您的数据。
日志上下文 #
日志"Failed to list content of shard directory"的类名是 BlobStoreRepository.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解的人参考:
private static SetgetShardBlobs(final ShardId snapshotShardId; final BlobContainer shardContainer) {
final Setblobs;
try {
blobs = shardContainer.listBlobs().keySet();
} catch (IOException e) {
throw new IndexShardSnapshotException(snapshotShardId; "Failed to list content of shard directory"; e);
}
return blobs;
} // 未使用的 blob 是所有先前的 index-、data- 和 meta-blob,并且不被新的 index- 引用,以及所有





