版本: 7-7.15
简要来说,当 Elasticsearch 集群中的当前主节点因网络分区、节点故障或具有更高 term 的新节点被选举为主节点而失去其状态时,会发生此错误。要解决此问题,请确保所有节点都在运行且网络连接稳定。如果问题仍然存在,请考虑增加 ‘discovery.zen.minimum_master_nodes’ 设置的值以防止脑裂情况。同时,检查集群的健康状况和日志以发现任何异常。如果新的主节点导致此问题,请验证其配置以及是否适合主节点角色。
日志上下文 #
日志 “node is no longer master for term” 的类名是 Coordinator.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
try {
synchronized (mutex) {
if (mode != Mode.LEADER || getCurrentTerm() != clusterChangedEvent.state().term()) {
logger.debug(() -> new ParameterizedMessage("[{}] failed publication as node is no longer master for term {}";
clusterChangedEvent.source(); clusterChangedEvent.state().term()));
publishListener.onFailure(new FailedToCommitClusterStateException("node is no longer master for term " +
clusterChangedEvent.state().term() + " while handling publication"));
return;
} if (currentPublication.isPresent()) {





