升级 mongo 集群

Ena*_*ane 5 sharding mongodb

我正在考虑采用 Mongo 集群并正在进行研究。我们希望有一个集群,可以从每秒 10k 次更新扩展到每秒 100k 次更新,写入流量非常大。

主要问题是,如果我们想迁移到更新的版本,是否可以在不停机的情况下进行?

我们是否会一次升级一个分片/副本并让它重新加入该组并希望它向后兼容并且不会修改数据?

作为奖励,每秒 10k 更新的集群估计是多少?10万?

我查看了http://www.mongodb.org/display/DOCS/Sharding+FAQ但找不到升级程序。

gWa*_*ldo 3

你必须检查每个版本的发行说明,但 2.0 的升级说明在这里:

http://www.mongodb.org/display/DOCS/2.0+Release+Notes#2.0ReleaseNotes-Upgrading

最后两个要点专门解决了您的问题:

  • 升级副本集。一次升级第一个辅助节点,然后降级主节点并升级主节点。使用 stepDown 命令比简单地关闭它更好,因为故障转移会更快地发生。为了避免在故障转移时丢失最后几个更新,您可以暂时停止应用程序(故障转移应花费不到 10 秒)或更改应用程序代码以确认每个更新到达多个服务器。请注意,升级到 2.0 后,您可以使用 shutdown 命令关闭主服务器,而不会丢失任何安全更新。

  • 升级分片集群。以任何顺序一次升级一个配置服务器。由于配置服务器使用两阶段提交,因此分片配置元数据更新将停止,直到所有分片都启动并运行。mongos 路由器可以按任何顺序升级。

停机时间很短,只需要副本集确认已发生降级以及发生选举/升级的时间。