--- title: "无已知主节点——如何解决此 Elasticsearch 异常" date: 2026-02-28 lastmod: 2026-02-28 description: "当 Elasticsearch 无法在集群中找到主节点时,会抛出'无已知主节点'异常。本文介绍其原因及解决方案。" tags: ["集群", "主节点", "节点发现", "MasterNotDiscoveredException"] summary: "版本: 6.8-7.17 简而言之,当 Elasticsearch 无法在集群中找到主节点时,会出现此错误。这可能是由于网络问题、配置错误或主节点宕机所致。要解决此问题,您可以检查节点之间的网络连接、验证 Elasticsearch 配置文件中的集群设置,或确保主节点正在运行且未过载。如果主节点宕机,您可能需要将数据节点提升为新的主节点。 日志上下文 # 日志"no known master node"的类名是 TransportCloseJobAction.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考: final DiscoveryNodes nodes = state.nodes(); if (request.isLocal() == false && nodes.isLocalNodeElectedMaster() == false) { // Delegates close job to elected master node; so it becomes the coordinating node. // See comment in OpenJobAction.Transport class for more information. if (nodes.getMasterNode() == null) { listener.onFailure(new MasterNotDiscoveredException("no known master node")); } else { transportService." --- > **版本:** 6.8-7.17 简而言之,当 Elasticsearch 无法在集群中找到主节点时,会出现此错误。这可能是由于网络问题、配置错误或主节点宕机所致。要解决此问题,您可以检查节点之间的网络连接、验证 Elasticsearch 配置文件中的集群设置,或确保主节点正在运行且未过载。如果主节点宕机,您可能需要将数据节点提升为新的主节点。 日志上下文 ----------- 日志"no known master node"的类名是 [TransportCloseJobAction.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考: ```java final DiscoveryNodes nodes = state.nodes(); if (request.isLocal() == false && nodes.isLocalNodeElectedMaster() == false) { // Delegates close job to elected master node; so it becomes the coordinating node. // See comment in OpenJobAction.Transport class for more information. if (nodes.getMasterNode() == null) { listener.onFailure(new MasterNotDiscoveredException("no known master node")); } else { transportService.sendRequest( nodes.getMasterNode(), actionName, request, ```