0

让我们假设由于在给定时间内未重新启动的服务器崩溃而导致辅助服务器落后。现在我们有一个 100 小时的延迟,但是像这样的 10 小时的 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)

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

这种情况该如何解决?

4

1 回答 1

3

答案很简单。次要无法生存。在这种情况下,您几乎没有不同的可能性来“重新初始化”该节点。

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

或者

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

在您再次获得工作副本集后,将您的 oplog 大小调整为更大。好像大了 15 倍。

于 2017-05-20T06:58:00.283 回答