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

版本: 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