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

仅用2台GCE通过mongomirror迁移MongoDB报源连接超时如何解决?

使用mongomirror迁移MongoDB报错排查方案

报错核心原因

报错的本质是mongomirror无法连接源MongoDB副本集的主节点,直接诱因有两个:

  • 源副本集rsMigration的内部成员配置异常:你在mongomirror命令中填写的源IP是正确的,但mongomirror连接源实例后会自动拉取副本集的成员配置列表,用列表内的地址尝试连接主节点,报错里显示的异常地址27017:27017、0.0.105.137就是副本集配置里填的错误地址,该地址在两台GCE的内网环境下不可达,导致连接超时。
  • 次要可能原因包括GCE防火墙未放开MongoDB默认端口27017的内网互通权限、MongoDB服务仅绑定本地回环地址未监听内网IP。

排查解决步骤

  • 优先修正源副本集成员配置:在源GCE实例上登录MongoDB shell,执行rs.conf()查看成员配置,确认members数组下的host字段是否为源GCE可被对端访问的内网IP加27017端口,若为错误地址执行以下命令修改:
cfg = rs.conf()
// 这里的0对应你副本集成员的索引,根据实际情况调整
cfg.members[0].host = "源GCE实际内网IP:27017"
rs.reconfig(cfg)
  • 验证GCE防火墙规则:确认GCP项目VPC的防火墙规则中,已放开两台GCE实例之间TCP 27017端口的入站、出站权限,源和目标地址范围填写两台GCE的内网IP。
  • 检查MongoDB监听配置:查看源和目标实例的MongoDB配置文件(默认路径为/etc/mongod.conf),确认bindIp参数值为0.0.0.0或对应实例的内网IP,不能仅设置为127.0.0.1,修改完成后重启MongoDB服务生效。
  • 手动预验证连通性:在源GCE上先用Mongo shell测试副本集连接是否正常,执行命令mongo --host rsMigration/源GCE内网IP:27017 -u root -p root123,确认可以正常登录并识别到主节点后,再重新执行mongomirror迁移命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:15:05