版本: 6.8-8.9
简而言之,当Elasticsearch无法将分片分配到节点时,会出现此错误,可能是由于资源不足、网络问题或配置错误导致的。要解决此问题,您可以增加系统资源,检查节点之间的网络连接,或检查分片分配设置。此外,确保Elasticsearch集群配置正确,底层硬件没有问题。最后,查看Elasticsearch日志以获取更具体的错误消息,这些消息可以帮助识别根本原因。
日志上下文 #
日志"all shards failed"的类名是 SearchScrollAsyncAction.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入背景的人参考:
addShardFailure(new ShardSearchFailure(failure; searchShardTarget));
int successfulOperations = successfulOps.decrementAndGet();
assert successfulOperations >= 0 : "successfulOperations must be >= 0 but was: " + successfulOperations;
if (counter.countDown()) {
if (successfulOps.get() == 0) {
listener.onFailure(new SearchPhaseExecutionException(phaseName; "all shards failed"; failure; buildShardFailures()));
} else {
SearchPhase phase = nextPhaseSupplier.get();
try {
phase.run();
} catch (Exception e) {





