【问题标题】:Set one replicaSet member to be the Primary during initial replicaSet configuration在初始副本集配置期间将一个副本集成员设置为主要成员
【发布时间】:2021-06-15 23:15:40
【问题描述】:

我们有一个由 1 个主节点和两个从节点组成的副本集。 我们在容器上使用 mongoDb 4.2 版。

出于 DR 的目的,我们现在要添加一个远程站点,我想将其中一个辅助节点放在该远程站点的主机上,而不是本地站点上。

我意识到如果将远程站点上成员的优先级设置为低于本地站点上成员的优先级(主站点和辅助站点),那么在发生故障转移时, local 次要的 mamber 将被提升为主要的,除非它也不可用。

我有两个问题:

  1. 对于我需要使用replicaSet 设置新Mongo 的新客户,我如何确保本地 站点上的两个成员之一将被创建为主节点?我在 rs.config 中有某种设置告诉特定成员将成为主要成员吗?

  2. 对于现有的副本集 - 将成员“移动”到新热点的方法是使用新主机重新配置副本集?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    Primary 是由副本集内部选举出来的,而不是由管理员指定的。有一个名为 replSetStepUp 的内部命令,但对于正常使用,您应该根据您希望主节点所在的位置设置优先级。

    给定 3 个节点,如果您将优先级设置为 10、10 和 1,则优先级为 1 的节点几乎永远不会是主节点(除非它可能比优先级为 10 的任何一个节点都更新,例如因为一个死了,另一个严重落后于大多数人)。

    如何确保将本地站点上的两个成员之一创建为主节点?

    而且,您一次只能有一个主节点。

    将成员“移动”到新热点的方法是使用新主机重新配置副本集?

    MongoDB 中没有“移动成员”的概念。您可以随时添加和删除节点。

    要实现不应该用于正常操作的异地备份,请将隐藏节点添加到异地位置的副本集(这将是第 4 个节点,除此之外您还需要 3 个正常节点) .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2017-01-03
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多