--- title: "拒绝请求,因为已存在领导者 – 如何解决此 Elasticsearch 异常" date: 2026-01-16 lastmod: 2026-01-16 description: "当 Elasticsearch 节点尝试选举自己为领导者但集群中已存在领导者时出现的异常及解决方法" tags: ["领导者选举", "集群管理", "节点通信"] summary: " 版本: 7-8.9 简而言之,当 Elasticsearch 中的节点尝试选举自己为领导者,但集群中已经存在领导者时,会发生此错误。这是 Elasticsearch 内置机制的一部分,用于防止数据不一致。要解决此问题,请确保集群的节点能够正常通信。如果某个节点被隔离或发生了网络分区,它可能会错误地认为没有领导者。此外,请检查集群的健康状况和设置。如果错误持续存在,请考虑重启节点或整个集群,但请注意这可能会导致暂时不可用。 日志上下文 # 日志 “rejecting " + request + " as there is already a leader” 的类名是 StatefulPreVoteCollector.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用: // leader won't change; and also that its re-election will happen more quickly than if it had to wait for a quorum of followers // to also detect its failure. return response; } throw new CoordinationStateRejectedException("rejecting " + request + " as there is already a leader"); } @Override public String toString() { return "PreVoteCollector{" + "state=" + state + '}'; " --- > **版本:** 7-8.9 简而言之,当 Elasticsearch 中的节点尝试选举自己为领导者,但集群中已经存在领导者时,会发生此错误。这是 Elasticsearch 内置机制的一部分,用于防止数据不一致。要解决此问题,请确保集群的节点能够正常通信。如果某个节点被隔离或发生了网络分区,它可能会错误地认为没有领导者。此外,请检查集群的健康状况和设置。如果错误持续存在,请考虑重启节点或整个集群,但请注意这可能会导致暂时不可用。 日志上下文 ----------- 日志 "rejecting " + request + " as there is already a leader" 的类名是 [StatefulPreVoteCollector.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java // leader won't change; and also that its re-election will happen more quickly than if it had to wait for a quorum of followers // to also detect its failure. return response; } throw new CoordinationStateRejectedException("rejecting " + request + " as there is already a leader"); } @Override public String toString() { return "PreVoteCollector{" + "state=" + state + '}'; ```