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

版本: 8.6-8.9

简要来说,当 Elasticsearch 无法为索引分配主分片时会出现此错误,这对于索引和搜索数据至关重要。这可能是由于磁盘空间不足、网络问题或配置不正确造成的。要解决此问题,请确保有足够的磁盘空间并且集群的网络连接正常。检查分片分配设置,必要时进行调整。此外,可以考虑增加主分片的数量,或者使用 reroute API 手动分配它们。最后,确保 Elasticsearch 版本是最新的,以避免可能导致此问题的错误。

日志上下文 #

日志 “Indices don’t have primary shards” 的类名是 SnapshotsService.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解的人参考:

if (entry.getValue().state() == ShardState.MISSING) {
 missing.add(entry.getKey().getIndex().getName());
 }
 }
 if (missing.isEmpty() == false) {
 throw new SnapshotException(snapshot; "Indices don't have primary shards " + missing);
 }
 }
 final var newEntry = SnapshotsInProgress.startedEntry(
 snapshot;
 request.includeGlobalState();