Mongodb 是否应在主服务器上应用回滚数据?-蒙哥达

Mongodb 是否应在主服务器上应用回滚数据?-蒙哥达,mongodb,replication,rollback,Mongodb,Replication,Rollback,假设我们有一个具有3个节点(2个数据和一个仲裁器)的副本集 现在A失败了,B成为主要的。一段时间后,A变为联机状态,执行回滚操作,并在同步后再次成为主服务器。现在我们可以应用回滚数据 我的问题是,如果A的优先级为1,会发生什么情况。联机并执行回滚后,它将与B同步。现在我们应该在哪台服务器上应用回滚数据?因为A不再是主要的。我们是否应该将回滚数据传输到B并执行该操作?因为您只能对主设备执行写入操作,所以回滚数据应始终应用于主设备。在您的情况下,这意味着您需要将数据移动到服务器B,或者只使用-h参数

假设我们有一个具有3个节点(2个数据和一个仲裁器)的副本集

现在A失败了,B成为主要的。一段时间后,A变为联机状态,执行回滚操作,并在同步后再次成为主服务器。现在我们可以应用回滚数据


我的问题是,如果A的优先级为1,会发生什么情况。联机并执行回滚后,它将与B同步。现在我们应该在哪台服务器上应用回滚数据?因为A不再是主要的。我们是否应该将回滚数据传输到B并执行该操作?

因为您只能对主设备执行写入操作,所以回滚数据应始终应用于主设备。在您的情况下,这意味着您需要将数据移动到服务器B,或者只使用-h参数与新的主服务器通信。该实用程序很可能不允许将数据应用于辅助服务器

A->primary, priority=2
B->secondary, priority=1, 10 seconds behind A
C->arbiter