如果滞后量大于oplog,那么mongodb secondary可以恢复吗?

时间:2017-05-19 13:31:13

标签: mongodb mongodb-replica-set

让我们假设由于服务器崩溃而未在指定时间内重新启动,因此辅助服务器落后。现在我们有一个100h的滞后,但像这样的10h的oplog

db.printSlaveReplicationInfo()

source: db3
    syncedTo: TIMEINTHEPAST
    360000 secs (100.00 hrs) behind the primary
source: db1
    syncedTo: NOW
    1 secs (0 hrs) behind the primary

但是那时oplog要小得多

db.printReplicationInfo()

configured oplog size:   GIVENSIZE
log length start to end: 36000secs (10hrs)

我是否正确地假设这个中学没有机会赶上(恢复)?

这种情况如何解决?

1 个答案:

答案 0 :(得分:2)

答案很简单。中学无法生存。在那种情况下,你很少有不同的可能性来重新初始化"那个节点。

  • 您停止该节点,清空它的数据目录,重新启动它并让它进行初始同步。

OR

  • 您停止该节点,带来其他健康节点数据文件的快照(或数据文件),重新启动它并让它“捕获”#34;小学。

再次使用副本集resize your oplog size to much bigger之后。比大15倍。