Mongodb secondary上面replSet error RS102 too stale to catch up解决(二)

2014-11-24 10:45:49 · 作者: · 浏览: 1
ng Restart the mongod with an empty data directory and let MongoDB’s normal initial syncing fbgture restore the data. This is the more simple option, but may take longer to replace the data. 重新启动 步骤如下: (1) stop the failed mongod 停止正在运行的同步异常的mongodb服务 (2) delete all data in the dbpath (including subdirectories) 删除mongodb目录下所有的数据文件包括其他的子目录 (3) start it and it will automatically resynchronize itself from primary 启动mongodb服务,服务会自动从primary上重新同步数据过来。 4 重新sync后,状态一直是 RECOVERING没有变成secondary,不过数据都已经同步过去了。 RECOVERING> rs.status(); { "set" : "rpl", "date" : ISODate("2013-08-13T07:58:41Z"), "myState" : 3, "syncingTo" : "101.130.92.323:27018", "members" : [ { "_id" : 0, "name" : "101.130.92.322:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 5629, "optime" : { "t" : 1376380719000, "i" : 84 }, "optimeDate" : ISODate("2013-08-13T07:58:39Z"), "lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"), "pingMs" : 0 }, { "_id" : 4, "name" : "101.130.92.322:27019", "health" : 1, "state" : 7, "stateStr" : "ARBITER", "uptime" : 5629, "optime" : { "t" : 0, "i" : 0 }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"), "pingMs" : 0 }, { "_id" : 5, "name" : "101.130.92.322:27018", "health" : 1, "state" : 3, "stateStr" : "RECOVERING", "optime" : { "t" : 1376380721000, "i" : 31 }, "optimeDate" : ISODate("2013-08-13T07:58:41Z"), "self" : true }, { "_id" : 6, "name" : "101.130.92.323:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 5629, "optime" : { "t" : 1376380719000, "i" : 66 }, "optimeDate" : ISODate("2013-08-13T07:58:39Z"), "lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"), "pingMs" : 0 }, { "_id" : 7, "name" : "101.130.92.323:27018", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 5629, "optime" : { "t" : 1376380719000, "i" : 66 }, "optimeDate" : ISODate("2013-08-13T07:58:39Z"), "lastHeartbeat" : ISODate("2013-08-13T07:58:39Z"), "pingMs" : 0 } ], "ok" : 1 } RECOVERING>

还需要继续观察一段时间,看是否最终会从RECOVERING变成secondary。