📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-7.15

简要来说,当没有足够的主节点可用于确认发送的集群状态时,会出现此错误。这可能是由于网络问题、节点故障或配置问题导致的。要解决此问题,您可以检查节点之间的网络连接,确保主节点正常运行,并验证 Elasticsearch 配置中的 minimum_master_nodes 设置。如果问题仍然存在,考虑向集群中添加更多符合主节点条件的节点,以增加其对故障的恢复能力。

日志上下文 #

日志 “{} enough masters to ack sent cluster state. [{}] left” 的类名是 PublishClusterStateAction.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

if (timedout) {
 markAsFailed("timed out waiting for commit (commit timeout [" + commitTimeout + "])");
 }
 if (isCommitted() == false) {
 throw new FailedToCommitClusterStateException("{} enough masters to ack sent cluster state. [{}] left",
 timedout ? "timed out while waiting for" : "failed to get", neededMastersToCommit);
 }
 }  public synchronized boolean isCommitted() {