如果延迟大于oplog,mongodb次要服务器能否恢复?

如果延迟大于oplog,mongodb次要服务器能否恢复?,mongodb,mongodb-replica-set,Mongodb,Mongodb Replica Set,让我们假设由于在给定时间内未重新启动的服务器崩溃,辅助服务器落后。现在我们有一个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 prim

让我们假设由于在给定时间内未重新启动的服务器崩溃,辅助服务器落后。现在我们有一个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)
我是否正确地假设此辅助服务器没有赶上(恢复)的机会


如何解决这种情况?

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

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

  • 停止该节点,将其他正常节点的快照(或数据文件)带到数据文件中,重新启动它并让它“捕获”主节点

再次创建工作副本集后。大概大15倍。

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

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

  • 停止该节点,将其他正常节点的快照(或数据文件)带到数据文件中,重新启动它并让它“捕获”主节点
再次创建工作副本集后。大概大15倍。

这真的属于你。在主oplog中,让一个次要的项目落后于最古老的项目通常是一种罪过。当然,当你不知道交易存在时,你不能“玩”它们。这真的属于你。在主oplog中,让一个次要的项目落后于最古老的项目通常是一种罪过。当然,当您不知道事务存在时,您不能“玩”它们。