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

版本: 6.8-8.9

简而言之,当 Elasticsearch 集群中的节点尝试加入,但当前节点不是主节点时,就会发生此错误。这可能是由于网络问题、配置不正确或脑裂场景导致的。要解决此问题,请确保节点之间的网络连接稳定。检查集群设置并确保指定了正确的主节点。此外,考虑启用 ‘discovery.zen.minimum_master_nodes’ 设置以防止脑裂情况。

日志上下文 #

日志 “Node [” + currentNodes.getLocalNode() + “] not master for join request” 类名是 NodeJoinExecutor.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:

} else if (currentNodes.isLocalNodeElectedMaster()) {
 assert initialState.term() == term : "term should be stable for the same master";
 newState = ClusterState.builder(initialState);
 } else {
 logger.trace("processing node joins; but we are not the master. current master: {}"; currentNodes.getMasterNode());
 throw new NotMasterException("Node [" + currentNodes.getLocalNode() + "] not master for join request");
 }  DiscoveryNodes.Builder nodesBuilder = DiscoveryNodes.builder(newState.nodes());
 MaptransportVersions = new HashMap<>(newState.transportVersions());