mongodb副本集集群中节点出现recovering状态解决办法

本文介绍了一次生产环境中MongoDB从节点出现RECOVERING状态的原因及解决方案。由于数据过于陈旧无法同步,采取了关闭数据库并删除本地数据的方式,重新启动后解决了同步问题。

记录一次mongodb在生产环境中从节点出现recovering状态的问题解决过程。

进入mongo shell命令行,通过rs.conf()命令查看节点状态,出现RECOVERING。

查看日志,错误日志截图:

大致意思:当前节点数据太陈旧,以至于无法同步,进入维护模式。

解决办法:

官方给出两种方式:第一种是停掉数据库,直接删除本地数据,然后启动mongo数据库,启动之后存在一个同步的过程,会非常耗时。再一种方式是停掉数据库,直接拷贝主节点上的数据,然后再启动mongo,这样就不存在数据同步的过程了,但是拷贝主节点上的数据,也有一个问题,就是数据时刻在变化,拷贝过程中难免会漏掉一些数据。这里采用第一种方式,先关闭数据库,删除本地数据,然后启动。

删除出现同步错误的节点上的数据,然后重启。

启动成功之后,再次查看节点状态。

startup2:表示正在初始化并同步数据。

转载于:https://my.oschina.net/u/1458864/blog/1845196

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值