--- title: "非Leader节点拒绝Leader检查——如何解决此Elasticsearch异常" date: 2026-03-02 lastmod: 2026-03-02 description: "当Elasticsearch集群中的非Leader节点拒绝Leader检查时发生的错误及解决方案" tags: ["集群管理", "节点通信", "Leader检查", "网络问题"] summary: " 版本: 7-7.4 简要来说,当Elasticsearch集群中的非Leader节点拒绝Leader检查时,会出现此错误。这通常是由于网络问题导致的,导致非Leader节点无法与Leader节点通信。要解决此问题,您可以尝试以下方法:1) 检查并修复任何网络连接问题。2) 确保集群中的所有节点都运行相同版本的Elasticsearch。3) 使用Elasticsearch的API检查集群的健康状况和状态。4) 如有必要,重新启动节点或整个集群。 日志上下文 日志 “non-leader rejecting leader check” 的类名是 LeaderChecker.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解上下文的人使用: final DiscoveryNodes discoveryNodes = this.discoveryNodes; assert discoveryNodes != null; if (discoveryNodes.isLocalNodeElectedMaster() == false) { logger.debug("non-master handling {}"; request); throw new CoordinationStateRejectedException("non-leader rejecting leader check"); } else if (discoveryNodes.nodeExists(request.getSender()) == false) { logger.debug("leader check from unknown node: {}"; request); throw new CoordinationStateRejectedException("leader check from unknown node"); } else { logger.trace("handling {}"; request); " --- > **版本:** 7-7.4 简要来说,当Elasticsearch集群中的非Leader节点拒绝Leader检查时,会出现此错误。这通常是由于网络问题导致的,导致非Leader节点无法与Leader节点通信。要解决此问题,您可以尝试以下方法:1) 检查并修复任何网络连接问题。2) 确保集群中的所有节点都运行相同版本的Elasticsearch。3) 使用Elasticsearch的API检查集群的健康状况和状态。4) 如有必要,重新启动节点或整个集群。 日志上下文 日志 "non-leader rejecting leader check" 的类名是 [LeaderChecker.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解上下文的人使用: ```java final DiscoveryNodes discoveryNodes = this.discoveryNodes; assert discoveryNodes != null; if (discoveryNodes.isLocalNodeElectedMaster() == false) { logger.debug("non-master handling {}"; request); throw new CoordinationStateRejectedException("non-leader rejecting leader check"); } else if (discoveryNodes.nodeExists(request.getSender()) == false) { logger.debug("leader check from unknown node: {}"; request); throw new CoordinationStateRejectedException("leader check from unknown node"); } else { logger.trace("handling {}"; request); ```