MongoDB节点从STARTUP状态切换为SECONDARY状态的求助
解决MongoDB节点长期处于STARTUP状态的问题
核心问题定位
从提供的集群状态数据可明确:
- 两个STARTUP节点的
configVersion为-2,说明未成功从主节点获取集群配置 lastHeartbeatRecv停留在1970-01-01,表明主从节点间心跳接收异常,网络或配置存在阻断
排查与修复步骤
验证节点间网络连通性
在主节点执行ping 10.0.14.17、ping 10.0.14.18,同时在两个从节点ping主节点主机名svplred1,确认DNS解析是否正常;通过telnet 10.0.14.17 27017或nc -zv 10.0.14.17 27017检查27017端口是否开放。核对MongoDB配置一致性
确认两个从节点的mongod.conf:replSetName参数与主节点完全一致bindIp未限制主节点访问,可设置为0.0.0.0或包含主节点IP- 若开启
security.authorization,需确保主从节点间有合法访问权限
重置节点复制集配置
在主节点的MongoDB Shell中先移除异常节点:rs.remove("10.0.14.17:27017") rs.remove("10.0.14.18:27017")重启两个从节点的mongod服务后,重新添加节点:
rs.add("10.0.14.17:27017") rs.add("10.0.14.18:27017")执行
rs.status()跟踪状态变化,等待节点完成配置同步。查看节点日志定位细节
从节点查看MongoDB日志(通常路径/var/log/mongodb/mongod.log),搜索STARTUP相关错误,比如配置加载失败、同步超时、权限问题等,根据日志提示针对性修复。
内容的提问来源于stack exchange,提问作者A Hequibal
相关产品推荐
相关产品推荐

