记录一次mongodb在生产环境中从节点出现recovering状态的问题解决过程。mongodb
进入mongo shell命令行,经过rs.conf()命令查看节点状态,出现RECOVERING。shell
查看日志,错误日志截图:数据库
大体意思:当前节点数据太陈旧,以致于没法同步,进入维护模式。命令行
解决办法:日志
官方给出两种方式:第一种是停掉数据库,直接删除本地数据,而后启动mongo数据库,启动以后存在一个同步的过程,会很是耗时。再一种方式是停掉数据库,直接拷贝主节点上的数据,而后再启动mongo,这样就不存在数据同步的过程了,可是拷贝主节点上的数据,也有一个问题,就是数据时刻在变化,拷贝过程当中不免会漏掉一些数据。这里采用第一种方式,先关闭数据库,删除本地数据,而后启动。blog
删除出现同步错误的节点上的数据,而后重启。同步
启动成功以后,再次查看节点状态。im
startup2:表示正在初始化并同步数据。数据