登录副本集的主节点运行rs.status()命令看到如下信息:
{ "_id" : 4, "name" : "55.55.55.55:27017", "health" : 1, "state" : 3, "stateStr" : "RECOVERING", "uptime" : 502511, "optime" : { "t" : 1340841938000, "i" : 5028 }, "optimeDate" : ISODate("2012-06-28T00:05:38Z"), "lastHeartbeat" : ISODate("2012-08-22T22:47:00Z"), "pingMs" : 0, "errmsg" : "error RS102 too stale to catch up" },
?
虽然MongoDB官方有相关的文档专门处理这种情况,但是我选择使用一个最简单的方式来解决。首先指定数据的存储目录,查看/etc/mongodb.conf文件看到dbpath设置到了/var/lib/mongodb
路径,然后停止节点,删除数据目录,重启节点即可。如果使用到了auth则还需要key文件,并且要保证目录存在以及有适当的权限可以让节点顺利运行。
?
下附MongoDB?2.6.0 官方手册