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

版本: 6.8-8.2

简要来说,当之前充当主节点的 Elasticsearch 节点不再担任该角色时,会发生此错误。这可能是由于网络问题、资源限制或配置问题导致的。要解决此问题,您可以检查集群健康状态和日志以识别任何问题。确保主节点已正确配置并具有足够的资源。如果怀疑存在网络问题,请验证节点之间的连接性。此外,考虑增加 ‘discovery.zen.minimum_master_nodes’ 设置以防止脑裂场景。

日志上下文 #

日志 “no longer master. source: [” + source + “]” 的类名是 TransportClusterHealthAction.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:

@Override
public void onNoLongerMaster() {
    logger.trace("stopped being master while waiting for events with priority [{}]. retrying."; request.waitForEvents());
    // TransportMasterNodeAction implements the retry logic; which is triggered by passing a NotMasterException
    listener.onFailure(new NotMasterException("no longer master. source: [" + source + "]"));
}  @Override
public void onFailure(Exception e) {
    if (e instanceof ProcessClusterEventTimeoutException) {