参考 > 发行说明 > MongoDB 3.4发布说明 > 将分片群集升级到3.4
在本页面
注意
从版本3.4.21开始,MongoDB 3.4系列删除了对Ubuntu 16.04 POWER / PPC64LE的支持。
对于支持Ubuntu 16.04 POWER / PPC64LE的MongoDB Enterprise早期版本:
由于glibc
Ubuntu 16.04 for POWER的较早版本的软件包中存在锁定省略错误,因此必须glibc
至少
在运行MongoDB之前将软件包升级到。使用该软件包较旧版本的系统
会由于随机内存损坏而导致数据库服务器崩溃和行为异常,并且不适合MongoDB的生产部署glibc 2.23-0ubuntu5
glibc
重要
在尝试进行任何升级之前,请熟悉本文档的内容。
如果您需要有关升级到3.4的指导,MongoDB提供主要版本升级服务,以确保平稳过渡而不会中断您的MongoDB应用程序。
升级时,请考虑以下事项:
要将现有的MongoDB部署升级到3.4,必须运行3.2系列发行版。
要从3.2系列之前的版本升级,必须先升级主要版本,直到升级到3.2系列。例如,如果运行的是3.0系列,则必须先安装 3.2, 然后才能升级到3.4。
在开始升级之前,请参阅MongoDB 3.4中的兼容性更改文档,以确保您的应用程序和部署与MongoDB 3.4兼容。开始升级之前,请解决部署中的不兼容性。
在升级MongoDB之前,请务必先在临时环境中测试应用程序,然后再将升级部署到生产环境中。
一旦升级到3.4,就不能降级到3.2.7或更早的版本。您只能降级到3.2.8或更高版本。
避免重新配置包含不同MongoDB版本成员的副本集,因为验证规则可能在MongoDB版本之间有所不同。
要将分片群集升级到3.4,群集的所有成员必须至少为3.2版。升级过程将检查群集的所有组件,如果有任何组件运行的版本早于3.2,则会发出警告。
从3.4开始,mongod
不再支持将已弃用的镜像
实例用作配置服务器(SCCC)。
在将分片群集升级到3.4之前,必须将配置服务器从SCCC转换为副本集(CSRS)。要将配置服务器从SCCC转换为CSRS,请参阅升级配置服务器到副本集。
config
数据库可选,但推荐。作为预防措施,在升级分片群集之前,请对config
数据库进行备份
。
如果配置服务器是副本集:
一次升级 一个副本集的辅助成员:
关闭辅助mongod
实例,然后用3.4二进制文件替换3.2二进制文件。
使用--configsvr
和
--port
选项启动3.4二进制文件:
如果使用配置文件,更新文件来指定,并与启动3.4二进制文件:sharding.clusterRole: configsvr
net.port
包括适合您的部署的任何其他配置。
等待成员恢复SECONDARY
状态,然后再升级下一个辅助成员。要检查成员的状态,请rs.status()
在mongo
shell中发出。
对每个次要成员重复上述步骤。
降级主副本集。
将mongo
外壳连接到主要数据库,并用于
rs.stepDown()
降低主要数据库并强制选择新的主要数据库:
当rs.status()
显示主数据库已降级并且另一个成员已PRIMARY
处于状态时,请关闭已降级的主数据库并将mongod
二进制文件替换为3.4二进制文件。
使用--configsvr
和
--port
选项启动3.4二进制文件:
如果使用配置文件,更新文件来指定,并与启动3.4二进制文件:sharding.clusterRole: configsvr
net.port
包括适合您的部署的任何其他配置。
一次升级一个碎片。如果这些分片是副本集,则对于每个分片:
一次升级 一个副本集的辅助成员:
关闭mongod
实例,然后用3.4二进制文件替换3.2二进制文件。
使用--shardsvr
和
--port
命令行选项启动3.4二进制文件。
如果使用配置文件,则将文件更新为包括和并开始:sharding.clusterRole: shardsvr
net.port
包括适合您的部署的任何其他配置。
等待成员恢复SECONDARY
状态,然后再升级下一个辅助成员。要检查成员的状态,可以rs.status()
在
mongo
shell中发出。
对每个次要成员重复上述步骤。
降级主副本集。
将mongo
外壳连接到主要数据库,并用于
rs.stepDown()
降低主要数据库并强制选择新的主要数据库:
当rs.status()
显示主节点已卸任并且另一成员已PRIMARY
处于状态时,请升级已卸除的主抵押:
关闭逐步降低的主数据库,然后将mongod
二进制文件替换
为3.4二进制文件。
使用--shardsvr
和
--port
命令行选项启动3.4二进制文件。
如果使用的配置文件,更新文件来指定,并与启动3.4二进制文件:sharding.clusterRole: shardsvr
net.port
包括适合您的部署的任何其他配置。
此时,您可以运行3.4二进制文件,而没有与3.2 不兼容的3.4 功能。
要启用这些3.4功能,请将功能兼容版本设置为3.4。
警告
启用这些向后不兼容的功能会使降级过程复杂化。有关详细信息,请参阅删除3.4不兼容的功能。
建议在升级后,允许您在不启用这些功能的情况下运行部署,并且要在预热期内确保降级的可能性最小。如果您确信降级的可能性很小,请启用这些功能。
在mongos
实例上,setFeatureCompatibilityVersion
在admin
数据库中运行
命令:
此命令必须执行对内部系统集合的写入。如果由于某种原因该命令未成功完成,则可以安全地重试该命令,
mongos
因为该操作是幂等的。