参考 > 发行说明 > MongoDB 3.0发行说明 > 从3.0降级MongoDB
在本页面
在尝试任何降级之前,请熟悉本文档的内容,尤其是《降级建议和清单》 以及降级群集的过程。
降级时,请考虑以下因素:
升级到MongoDB 3.0后,您不能降级到低于2.6.8的版本。
重要
如果您升级到MongoDB 3.0并运行
authSchemaUpgrade
,则必须先禁用才能降级到2.6系列--auth
。
请遵循降级过程:
注意
可选的。compacting
降级后考虑集合。否则,较旧的版本将无法重用运行3.0时创建的大于2MB的可用空间区域。这可能导致空间浪费,但降级后不会造成数据丢失。
mongod
实例¶如果将存储引擎WiredTiger
更改为,则在降级到2.6之前将存储引擎更改为MMAPv1。
要将独立mongod
实例的存储引擎更改为MMAPv1 ,您将需要使用mongodump
和手动导出和上传数据
mongorestore
。
mongod
与WiredTiger一起运行。¶mongod
用MMAPv1 重新启动。¶重新启动3.0 mongod
,将为MMAPv1新创建的数据目录指定为--dbpath
。您不必指定,--storageEngine
因为MMAPv1是默认设置。
根据需要指定其他选项。
mongorestore
。¶根据需要指定其他选项。请参阅
mongorestore
以获取可用选项。
如果已将存储引擎更改为WiredTiger,则在降级到2.6之前将存储引擎更改为MMAPv1。
您可以更新成员以滚动方式使用MMAPv1存储引擎。
注意
当运行带有混合存储引擎的副本集时,性能可能会因工作负载而异。
要将现有辅助副本集成员的存储引擎更改为MMAPv1,请删除该成员的数据并执行 初始同步:
重新启动3.0 mongod
,将MMAPv1数据目录指定为--dbpath
。指定适合该成员的其他选项。--storageEngine
由于默认为MMAPv1,因此无需指定
。
由于中没有数据--dbpath
,mongod
会执行初始同步。初始同步过程的长度取决于数据库的大小以及副本集成员之间的网络连接。
对其余的次要成员重复上述步骤。一旦所有辅助成员都切换到MMAPv1,则降级主要成员并更新已降级的成员。
升级到MongoDB 3.0后,您不能降级到低于2.6.8的版本。
以下步骤概述了副本集的“滚动”降级过程。“滚动”降级过程通过在其他成员可用时分别对成员进行降级来最大程度地减少停机时间:
降级副本集的每个辅助成员,一次降级一个:
mongod
。有关安全终止进程的说明,请参阅停止mongod进程mongod
。SECONDARY
状态,然后再降级下一个辅助节点。要检查成员的状态,请使用外壳程序中的rs.status()
方法mongo
。mongod
。¶当rs.status()
显示主节点已退出并且另一个成员已PRIMARY
进入状态时,请关闭先前的主节点,并用mongod
2.6二进制文件替换二进制文件并启动新实例。
副本集故障转移不是即时的,但将导致该集不可用于写入和中断读取,直到故障转移过程完成为止。通常,这需要10秒钟或更长时间。您可能希望在预定的维护时段内计划降级。
在降级过程中,您无法更改集合元数据。例如,降级过程中,千万 不能做任何以下内容:
sh.enableSharding()
sh.shardCollection()
sh.addShard()
db.createCollection()
db.collection.drop()
db.dropDatabase()
如果已将存储引擎更改为WiredTiger,则在降级到2.6之前将存储引擎更改为MMAPv1。
要将存储引擎更改为MMAPv1,请参阅 适用于您的分片的副本集成员,将存储引擎更改为MMAPv1,将独立mongod更改为MMAPv1。
注意
在此过程中,在任何给定时间都将仅运行两个配置服务器,以确保分片群集的元数据为 只读。
mongorestore
到第二配置服务器。¶根据需要指定其他选项。请参阅
mongorestore
以获取可用选项。
mongorestore
到第三配置服务器。¶根据需要指定其他选项。查看
mongorestore
可用选项
mongorestore
到第一个配置服务器。¶根据需要指定其他选项。查看
mongorestore
可用选项
一旦所有三个配置服务器都启动并通过WiredTiger运行,请 重新启用balancer。
升级到MongoDB 3.0后,您不能降级到低于2.6.8的版本。
分片群集的降级过程将逆转升级过程的顺序。版本v6
配置数据库与MongoDB 2.6向后兼容。
降级所有3个mongod
配置服务器实例,在参数中将第一个系统降级为last。mongos --configdb