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

MongoDB 4.0.23分片集群执行sh.startBalancer()后均衡失效求助

MongoDB 4.0分片集群config.system.sessions集合UUID冲突均衡失败解决方案

报错根因

目标分片s3上已经存在独立创建的config.system.sessions集合,该集合的UUID与源分片s0上由集群统一管理的config.system.sessions集合UUID不匹配,MongoDB分片迁移要求同源集合UUID必须完全一致,因此均衡迁移任务被阻断。

可执行修复步骤

  • 第一步:先停止集群均衡器,避免操作过程中触发无效迁移任务,执行命令:
// 停均衡器
sh.stopBalancer()
// 确认均衡器已停止,返回false即为正常
sh.getBalancerState()
  • 第二步:登录报错的目标分片s3的主节点,切换到config库校验集合数据:
use config
// 查看当前集合的数据量
db.system.sessions.countDocuments()

config.system.sessions存储的是集群会话信息,默认TTL为30分钟,数据无长期保存价值,可直接删除该冲突集合:

db.system.sessions.drop()

如果确有需要留存该集合数据,可先通过mongodump工具备份数据后再执行删除操作。

  • 第三步:重启集群均衡器,验证迁移是否正常:
sh.startBalancer()
// 确认均衡器正常运行
sh.isBalancerRunning()
// 10分钟后查看chunk分布状态,确认config.system.sessions的chunk正在正常迁移
sh.status()

注意事项

  • 操作前建议对集群config库执行全量备份,避免误操作导致元数据损坏
  • 该操作不会影响正常业务运行,旧会话过期后集群会自动生成新的会话记录写入集合

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:18:03