Mongodb 将在辅助节点上回滚哪些数据

Mongodb 将在辅助节点上回滚哪些数据,mongodb,Mongodb,当副本集需要选择新的主节点时,updaed数据仍将保存在旧的主节点中,并且它将生成bson文件。但我也发现有时在辅助节点中有一个bson文件。将在辅助节点中回滚哪些数据?谢谢 我的情况如下: 该集群有3个节点:server1、server2和server3,server1是主节点 插入大量数据 在插入过程中,服务器1不连接到服务器2和服务器3,因此集群将选择新的主服务器 仍在插入数据 服务器2被选为主服务器 网络恢复后,server1可以连接到serve2和server3 server1将状态从

当副本集需要选择新的主节点时,updaed数据仍将保存在旧的主节点中,并且它将生成bson文件。但我也发现有时在辅助节点中有一个bson文件。将在辅助节点中回滚哪些数据?谢谢 我的情况如下:

  • 该集群有3个节点:server1、server2和server3,server1是主节点
  • 插入大量数据
  • 在插入过程中,服务器1不连接到服务器2和服务器3,因此集群将选择新的主服务器
  • 仍在插入数据
  • 服务器2被选为主服务器
  • 网络恢复后,server1可以连接到serve2和server3
  • server1将状态从回滚更改为辅助
  • 查找服务器1在回滚文件夹中有bson文件
  • 但也可以发现server3在回滚文件夹中有一个bson文件

  • 为什么server3有bson文件?将回滚哪些数据?

    有时,将成为新主数据的次数据在复制过程中落后于另一个次数据。例如,如果您为副本成员指定了手动优先级,则可能会发生这种情况,如下所述:


    在这种情况下,另一个辅助服务器也需要回滚到新主服务器的当前状态。

    问题不清楚,您能否给出具体示例。您说server3是主服务器,这是一个输入错误吗?如果无法访问服务器1,则只有当1是主服务器时,才会导致新的选举。对不起,我已经更改了它,谢谢!我懂了。但是它们的优先级是相同的,如果server2在复制中落后于serve3,那么server2就不能被选为主服务器。即使没有设置优先级,这种情况也会偶尔发生。一种可能的解释是两个二级之间的时钟偏移。您会发现辅助服务器上的回滚通常非常小,比如几秒钟。但是,您仍然应该查看回滚的文档(例如bsondump),并决定是否需要重新导入丢失的数据。但请注意此过程,因为这是一个非常手动的操作,可能会导致问题,例如唯一单调递增索引。您能否详细描述时钟偏移如何影响复制?谢谢我刚刚检查了日志文件,发现有这样的错误消息:“replSet error-mable failover clock skew issue?5046c5c2:1”如果有时钟偏差,新主的oplog时间戳可能在旧主的后面,这将使新的oplog条目的时间戳比另一个辅助服务器上以前的条目早(并导致回滚)。通常情况下,选举将选择具有最新oplog的主要选举,但如果您更改了投票数或存在影响选举的其他连接问题,则可能会选择没有最新oplog的次要选举,并导致回滚。