升级一个mongo集群

我正在考虑采用Mongo集群并正在进行研究。 我们希望拥有一个可以从每秒10k次更新到每秒10万次更新的群集,并且能够写入大量stream量。

主要问题是,如果我们想要移植到更新的版本,这可能没有宕机?

我们会一次升级一个分片/副本吗?让它重新join这个组,并希望它是向后兼容的,不会混淆数据?

作为奖励,什么是每秒10k更新的聚类估计? 10万?

我看了一下http://www.mongodb.org/display/DOCS/Sharding+FAQ,却找不到升级程序。

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

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

最后两点要特别说明你的问题:

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

  • 升级分片群集 以任意顺序逐个升级configuration服务器。 由于configuration服务器使用两阶段提交,碎片configuration元数据更新将暂停,直到所有启动并运行。 mongos路由器可以按任意顺序升级。

停机时间很短,仅花费时间让副本服务器确认发生了stepDown,并选举/升级发生。