版本: 8.6-8.9
简而言之,当 Elasticsearch 无法识别或定位集群中指定的节点名称时,会出现此错误。这可能是由于节点名称不正确、网络问题或节点宕机导致的。要解决此问题,您可以验证节点名称,检查网络连接,并确保节点正在运行。此外,检查您的 Elasticsearch 配置是否存在任何错误,并在必要时进行纠正。
日志上下文 #
日志 “could not resolve node names {}” 的类名是 TransportPrevalidateNodeRemovalAction.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
var resolvedNodes = discoveryNodes.stream().filter(n -> names.contains(n.getName())).collect(Collectors.toSet());
if (resolvedNodes.size() < names.size()) {
// find out which one wasn't found
var existingNodeNames = discoveryNodes.stream().map(DiscoveryNode::getName).collect(Collectors.toSet());
names.removeAll(existingNodeNames);
throw new ResourceNotFoundException("could not resolve node names {}", names);
}
assert resolvedNodes.size() == request.getNames().length;
return resolvedNodes;
}
// Resolve by ID





