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

MongoDB 5.0至6.0社区版滚动升级服务受影响,咨询无停机方案

MongoDB 5.0→6.0滚动升级避免服务停机的解决方案

问题背景

在将MongoDB 5.0社区版分片集群滚动升级至6.0版本时,分片成员重启阶段出现服务异常,mongos日志中频繁出现以下错误:

{"t":{"$date":"2024-01-25T23:42:57.217+01:00"},"s":"I", "c":"QUERY", "id":4625501, "ctx":"conn573535","msg":"Unable to establish remote cursors","attr":{"error":{"code":40414,"codeName":"Location40414","errmsg":"BSON field 'DatabaseVersion.timestamp' is missing but a required field"},"nRemotes":0}}
{"t":{"$date":"2024-01-25T23:42:57.383+01:00"},"s":"I", "c":"QUERY", "id":4625501, "ctx":"conn573498","msg":"Unable to establish remote cursors","attr":{"error":{"code":40414,"codeName":"Location40414","errmsg":"BSON field 'DatabaseVersion.timestamp' is missing but a required field"},"nRemotes":0}}
{"t":{"$date":"2024-01-25T23:42:57.530+01:00"},"s":"I", "c":"QUERY", "id":4625501, "ctx":"conn573550","msg":"Unable to establish remote cursors","attr":{"error":{"code":40414,"codeName":"Location40414","errmsg":"BSON field 'DatabaseVersion.timestamp' is missing but a required field"},"nRemotes":0}}

重启mongos后服务恢复,但违反了滚动升级无停机的预期。

错误原因

该错误源于版本兼容性问题:5.0版本的mongos无法识别6.0分片节点返回的DatabaseVersion结构中的timestamp必填字段,导致无法建立远程游标,进而影响查询请求处理。

避免停机的升级步骤

1. 严格遵循正确的升级顺序

分片集群滚动升级必须按以下顺序执行,彻底避免跨版本交互的兼容性问题:

  • 第一步:升级配置服务器集群:逐个停止配置服务器,升级至6.0版本后重启,等待集群同步完成,再处理下一个节点。
  • 第二步:升级所有mongos实例:滚动升级每个mongos,一次只升级一个,确认该mongos重启后正常处理请求,再继续下一个。确保所有mongos都升级到6.0后,再开始升级分片节点。
  • 第三步:升级分片节点:
    • 先升级分片集群中的所有次级节点:停止次级节点,升级至6.0后重启,等待节点完成数据同步、状态变为SECONDARY后,再处理下一个次级节点。
    • 最后升级分片主节点:执行rs.stepDown(600)将主节点降级为次级,等待集群选举出新的主节点,再停止原主节点进行升级,重启后加入集群。

2. 升级前的关键准备

  • 全量备份集群数据:使用mongodump或其他备份工具备份所有数据库,确保升级失败时可快速恢复。
  • 检查集群健康:确认所有节点状态正常,次级节点数据延迟在可接受范围内,配置服务器集群无异常。
  • 测试环境验证:先在测试集群完成升级流程,验证应用与MongoDB 6.0的兼容性,提前发现潜在问题。

3. 升级中的监控

  • 实时监控mongos和分片节点的日志,一旦出现异常及时处理。
  • 监控应用的请求成功率和延迟,确保滚动升级过程中服务可用性符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:40:34