复制 – 如何在不重新启动进程的情况下更改MongoDB集群中的主服务器?

阅读MongoDB的文档,了解如何配置集群的主从配置(我们的集群将有超过12个节点,所以不幸的是我们不能拥有副本集配置),如何在不使用主服务器的情况下将主服务器提升为主服务器不得不停止任何过程?

我们可以使用任何命令,比如Redis的slaveof命令,它允许我们在不需要重启进程的情况下将主服务器提升为主服务器吗?

这是我们在MongoDB文档(http://docs.mongodb.org/manual/core/master-slave/)上找到的:

To permanently failover from a unavailable or damaged master (A in the
following example) to a slave (B):

Shut down A. Stop mongod on B. Back up and move all data files that
begin with local on B from the dbpath. Warning Removing local.* is
irrevocable and cannot be undone. Perform this step with extreme
caution. Restart mongod on B with the –master option. Note This is a
one time operation, and is not reversible. A cannot become a slave of
B until it completes a full resync.

这真的是唯一的方法吗?

最佳答案
系统管理员的补遗回答在评论中澄清您的问题:

不,目前(截至2.4),没有办法超越副本集中的12个节点.您可以考虑使用Mongo Connector来设置多个集合作为可能的解决方案.连接器允许您从另一组中的一个集重放ops,主要是通过拖尾oplog(这通常是复制的工作方式).但是,这意味着解决群集之间的任何同步问题不会是自动的,并且基本上由您决定.

作为参考,投票/观看以增加12节点限制的相关问题是SERVER-3110 – 它目前定于2.5.x(当前不稳定的开发分支),但与所有这些事情一样,直到它被提交并且在稳定版本中,你不能确定它什么时候会完成.

转载注明原文:复制 – 如何在不重新启动进程的情况下更改MongoDB集群中的主服务器? - 代码日志