版本: 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();





