如何设置" arbiterOnly"来自MongoDB MMS门户的复制集中的现有节点?

时间:2014-12-31 11:16:26

标签: mongodb replicaset mongodb-mms

我正在尝试使用MongoDB MMS服务在Azure Cloud中配置副本集。我创建了一个包含三个节点的副本集,一个作为主节点,另一个作为辅助节点。如何将其中一个辅助节点设为任意?

1 个答案:

答案 0 :(得分:0)

你无法直接"转换"通过副本集重新配置来仲裁仲裁者。辅助节点是数据承载节点而仲裁节点不是,因此删除辅助节点(和丢弃数据)的步骤需要明确。

通过彩信,你需要:

  • 编辑部署
  • 添加仲裁者
  • 删除辅助

MMS文档有一个教程,其中包含Replace a Member with an Arbiter的更详细步骤。

在三节点副本集中使用仲裁器考虑数据冗余

值得注意的是在三节点副本集中具有仲裁器的数据冗余影响。 从技术上讲,三节点副本集的fault tolerance允许任何一个节点不可用并仍然保持主节点。

但是,如果您只有两个数据承载节点加一个仲裁器,则单个节点不可用的影响是不同的,如果该节点恰好是数据承载(主要或次要)而不是仲裁器。

如果单个不可用节点是数据承载,那么您的副本集:

  • 不再具有数据冗余或主动复制(因为只有一个剩余的数据节点)
  • 只能满足单个节点write concern(如果您的应用程序代码需要majorityw:2写入问题,这将是一个问题)