文档中指出,任何副本集都应该有奇数个成员。假设我有一个包含 3 个成员的主站点。我需要将一名成员转移到备份站点。为此,我是否需要先在备份站点上添加一个新成员,然后他们在主站点上删除一个成员?官方程序是什么?我很困惑,因为在添加成员时,已经有偶数个成员了。我将从那里去哪里?将单个成员添加到副本集而不做任何恶作剧有多危险?
在添加新成员之前,我是否应该做一些魔术(例如将特定成员的优先级设置为零)?
这在某处记录了吗?
文档中指出,任何副本集都应该有奇数个成员。假设我有一个包含 3 个成员的主站点。我需要将一名成员转移到备份站点。为此,我是否需要先在备份站点上添加一个新成员,然后他们在主站点上删除一个成员?官方程序是什么?我很困惑,因为在添加成员时,已经有偶数个成员了。我将从那里去哪里?将单个成员添加到副本集而不做任何恶作剧有多危险?
在添加新成员之前,我是否应该做一些魔术(例如将特定成员的优先级设置为零)?
这在某处记录了吗?
你在哪里发现副本应该有偶数个成员的信息,因为它是奇数。对于偶数的成员(选票),您最终可能会遇到没有多数的情况。如果您有偶数个数据节点,则需要仲裁器作为第五个。
好的,关于如何移动一个成员的问题。假设您有三个节点(主节点 + 2 个辅助节点)。如果你想确保你的副本集保持正常运行,即使你在那段时间失去了一个成员,当一个辅助节点“在移动中”而不是在运行时,将一个仲裁器带到副本集。您可以将仲裁器安装到“任何”其他服务器,因为它不会占用资源(基本上)。
rs.addArb("address:port")
您在关闭该辅助设备之前发出命令。在新位置再次启动该辅助设备后,您可以发出命令rs.remove("address:port")
。这样你在网上总是有三票。