You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB副本集featureCompatibilityVersion升级停滞,如何回滚至3.4?

MongoDB副本集Feature Compatibility Version升级停滞回滚至3.4解决方案

执行rs.add("<IP>:<PORT>")添加新节点失败,日志提示Feature Compatibility Version(FCV)不兼容,尝试执行db.adminCommand({ setFeatureCompatibilityVersion: "3.6" })升级FCV后,查询FCV状态得到如下结果:

rspp1:PRIMARY> db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
{
        "featureCompatibilityVersion" : {
                "version" : "3.4",
                "targetVersion" : "3.6"
        },
        "ok" : 1,
        "$gleStats" : {
                "lastOpTime" : {
                        "ts" : Timestamp(1681888293, 1),
                        "t" : NumberLong(27)
                },
                "electionId" : ObjectId("7fffffff000000000000001b")
        },
        "$configServerState" : {
                "opTime" : {
                        "ts" : Timestamp(1681889207, 1),
                        "t" : NumberLong(5)
                }
        }
}

该状态表明FCV升级已发起但未完成,直接执行db.adminCommand({ setFeatureCompatibilityVersion: "3.4" })无法回滚,需按以下步骤操作:

操作步骤

  1. 确认副本集节点状态
    在主节点执行rs.status(),确保主节点为PRIMARY状态,所有从节点状态正常(SECONDARY/ARBITER),无失联或同步异常节点。

  2. 终止正在进行的FCV升级
    在主节点执行以下命令终止升级流程:

    db.adminCommand({ abortFeatureCompatibilityVersionUpgrade: 1 })
    

    执行成功后会返回{ "ok": 1 }结果。

  3. 验证升级终止结果
    再次查询FCV状态:

    db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
    

    正常情况下,返回结果中仅保留"version": "3.4",不再显示targetVersion字段。

  4. 确认副本集同步完成
    执行rs.printSlaveReplicationInfo(),检查所有从节点的同步延迟,确保所有节点已同步主节点的最新oplog。

  5. (可选)重新处理新节点加入问题
    若新节点仍无法加入,确认新节点的MongoDB版本为3.4.x(与现有集群FCV版本兼容),同时检查新节点配置文件中的副本集名称与现有集群一致。


内容的提问来源于stack exchange,提问作者Chirag Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 10:28:15