【问题标题】:Should rollback data be applied on primary? - MongoDB回滚数据是否应该应用于主节点? - MongoDB
【发布时间】:2012-04-17 05:47:36
【问题描述】:

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

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

现在 A 失败,B 成为主节点。一段时间后,A 变为在线,进行回滚并在同步后再次成为主节点。现在我们可以应用回滚数据了。

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

【问题讨论】:

    标签: mongodb replication rollback


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 2017-01-05
      相关资源
      最近更新 更多