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

版本: 7-7.11

简而言之,当您尝试向现有集群添加具有不同 Elasticsearch 版本的节点时,会发生此错误。Elasticsearch 要求集群中的所有节点运行相同版本以确保兼容性并防止问题。要解决此问题,您可以升级节点以匹配集群的版本,或者降级集群以匹配节点的版本。或者,您可以创建一个具有不同版本节点的新集群并迁移数据。

日志上下文 #

日志 “mixed-version cluster join validation on cluster state” 类名是 JoinHelper.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:

    ThreadPool.Names.GENERIC; ValidateJoinRequest::new;
    (request; channel; task) -> {
        final ClusterState localState = currentStateSupplier.get();
        if (localState.metadata().clusterUUIDCommitted() &&
            localState.metadata().clusterUUID().equals(request.getState().metadata().clusterUUID()) == false) {
            throw new CoordinationStateRejectedException("mixed-version cluster join validation on cluster state" +
            " with a different cluster uuid " + request.getState().metadata().clusterUUID() +
            " than local cluster uuid " + localState.metadata().clusterUUID()
            + "; rejecting");
        }
        joinValidators.forEach(action -> action.accept(transportService.getLocalNode(); request.getState()));