--- title: "非失败节点未形成法定人数 - 如何解决此Elasticsearch异常" date: 2026-03-08 lastmod: 2026-03-08 description: "当Elasticsearch集群中的大多数节点不可用或无法相互通信时,会出现此错误,导致集群无法达成共识或'法定人数'" tags: ["集群", "法定人数", "节点通信"] summary: " 版本: 7-8.9 简要来说,当Elasticsearch集群中的大多数节点不可用或无法相互通信时,会出现此错误,导致集群无法达成共识或"法定人数"。这可能是由于网络问题、节点故障或配置错误造成的。要解决此问题,请确保所有节点都在运行且网络连接稳定。检查集群设置,并将"discovery.zen.minimum_master_nodes"调整为合适的值。此外,考虑使用专用的主节点以提高稳定性。 日志上下文 # 日志"non-failed nodes do not form a quorum"的类名是 Publication.java. 我们从Elasticsearch源代码中提取了以下内容,供那些需要深入了解上下文的人参考: logger.debug( "onPossibleCommitFailure: non-failed nodes {} do not form a quorum; so {} cannot succeed"; possiblySuccessfulNodes; this ); Exception e = new FailedToCommitClusterStateException("non-failed nodes do not form a quorum"); publicationTargets.stream().filter(PublicationTarget::isActive).forEach(pt -> pt.setFailed(e)); onPossibleCompletion(); } } " --- > **版本:** 7-8.9 简要来说,当Elasticsearch集群中的大多数节点不可用或无法相互通信时,会出现此错误,导致集群无法达成共识或"法定人数"。这可能是由于网络问题、节点故障或配置错误造成的。要解决此问题,请确保所有节点都在运行且网络连接稳定。检查集群设置,并将"discovery.zen.minimum_master_nodes"调整为合适的值。此外,考虑使用专用的主节点以提高稳定性。 日志上下文 ----------- 日志"non-failed nodes do not form a quorum"的类名是[Publication.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供那些需要深入了解上下文的人参考: ```java logger.debug( "onPossibleCommitFailure: non-failed nodes {} do not form a quorum; so {} cannot succeed"; possiblySuccessfulNodes; this ); Exception e = new FailedToCommitClusterStateException("non-failed nodes do not form a quorum"); publicationTargets.stream().filter(PublicationTarget::isActive).forEach(pt -> pt.setFailed(e)); onPossibleCompletion(); } } ```