--- title: "不再是当选的主节点 - 如何解决此Elasticsearch异常" date: 2026-01-24 lastmod: 2026-01-24 description: "Elasticsearch主节点因网络问题、节点故障或高负载无法维持其状态时会选举新的主节点,本文介绍如何解决此问题。" tags: ["主节点", "集群管理", "节点选举"] summary: "版本: 7.16-8.9 简而言之,当Elasticsearch集群中的当前主节点由于网络问题、节点故障或高负载而无法维持其状态时,会发生此错误。然后集群会选举一个新的主节点。要解决此问题,请确保所有节点都在运行且网络连接稳定。如果负载很高,请考虑向集群添加更多节点或增加现有节点的资源。此外,请检查集群的主节点选举设置,以避免主节点频繁更改。 日志上下文 # 日志"no longer the elected master"的类名是 LeaderChecker.java. 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: if (statusInfo.getStatus() == UNHEALTHY) { logger.debug("this node is unhealthy [{}]; rejecting leader check: {}"; statusInfo.getInfo(); request); throw new NodeHealthCheckFailureException(statusInfo.getInfo()); } else if (discoveryNodes.isLocalNodeElectedMaster() == false) { logger.debug("rejecting leader check on non-master: {}"; request); throw new CoordinationStateRejectedException("no longer the elected master"); } else if (discoveryNodes.nodeExists(request.getSender()) == false) { logger.debug("rejecting leader check from removed node: {}"; request); throw new CoordinationStateRejectedException( "rejecting check since [" + request." --- > **版本:** 7.16-8.9 简而言之,当Elasticsearch集群中的当前主节点由于网络问题、节点故障或高负载而无法维持其状态时,会发生此错误。然后集群会选举一个新的主节点。要解决此问题,请确保所有节点都在运行且网络连接稳定。如果负载很高,请考虑向集群添加更多节点或增加现有节点的资源。此外,请检查集群的主节点选举设置,以避免主节点频繁更改。 日志上下文 ----------- 日志"no longer the elected master"的类名是[LeaderChecker.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java if (statusInfo.getStatus() == UNHEALTHY) { logger.debug("this node is unhealthy [{}]; rejecting leader check: {}"; statusInfo.getInfo(); request); throw new NodeHealthCheckFailureException(statusInfo.getInfo()); } else if (discoveryNodes.isLocalNodeElectedMaster() == false) { logger.debug("rejecting leader check on non-master: {}"; request); throw new CoordinationStateRejectedException("no longer the elected master"); } else if (discoveryNodes.nodeExists(request.getSender()) == false) { logger.debug("rejecting leader check from removed node: {}"; request); throw new CoordinationStateRejectedException( "rejecting check since [" + request.getSender().descriptionWithoutAttributes() + "] has been removed from the cluster" ); ```