升级到 MongoDB 最新自管理补丁版本
MongoDB 版本号形式为X.Y.Z
其中 Z
表示补丁发布号。补丁发布提供安全补丁、错误修复以及通常不包含任何向后不兼容更改的新功能或更改。始终升级到您版本系列中的最新补丁发布。
有关版本信息的更多信息,请参阅MongoDB 版本.
关于此任务
本页描述了MongoDB 8.0版本系列的升级程序。要升级到其他版本系列,请参阅相应的手册版本。
开始之前
请阅读以下部分,以确保您的部署已准备好升级。
备份
确保您有数据集的最新备份。请参阅自管理部署的备份方法。
兼容性考虑
请参阅以下文档,以了解任何特定于您MongoDB版本的特定考虑事项或兼容性问题
维护窗口
如果您的安装包括副本集,请将升级安排在预定义的维护窗口期间进行。
预演环境检查
在升级生产环境之前,请使用本文件中说明的步骤升级一个再现生产环境的预演环境。在升级之前,请确保您的生产配置与所有更改兼容。
步骤
单独升级每个mongod
和mongos
二进制文件。遵循以下升级程序
对于使用身份验证的部署,首先升级所有MongoDB驱动程序。有关升级信息,请参阅您驱动程序的文档。
升级任何独立实例。请参阅升级MongoDB实例。
升级任何非分片集群的副本集,如升级副本集中所述。
升级分片集群,如《升级分片集群。》中所述。
升级 MongoDB 实例
要升级 8.0 版本的 mongod
或 mongos
实例,请使用以下方法之一
使用操作系统的包管理工具和官方 MongoDB 软件包升级实例。这是推荐的方法。请参阅《安装 MongoDB。》
通过替换现有的二进制文件以新二进制文件升级实例。请参阅《替换现有二进制文件。》
替换现有二进制文件
本节描述了如何通过替换现有二进制文件来升级 MongoDB。升级的首选方法是使用操作系统的包管理工具和官方 MongoDB 软件包,如《安装 MongoDB。》中所述。
通过替换现有二进制文件来升级 mongod
或 mongos
实例
从 MongoDB 下载页面 下载最新 MongoDB 补丁版本的二进制文件,并将二进制文件存储在临时位置。这些二进制文件以压缩文件形式下载,解压后会生成与 MongoDB 安装所使用的目录结构相同的目录。
关闭实例。
用下载的二进制文件替换现有的 MongoDB 二进制文件。
进行任何必要的配置文件更改。
重新启动实例。
升级副本集
要升级8.0版本的副本集,需要逐个升级每个成员,从辅助副本开始,以主副本结束。请在一个预定义的维护窗口内规划升级。
重要
在升级或降级副本集之前,确保所有副本集成员都在运行。如果没有,升级或降级将不会完成,直到所有成员都启动。
升级辅助副本
按照以下步骤单独升级每个辅助副本
按照
mongod
二进制文件的说明进行升级,在升级 MongoDB 实例中。升级辅助副本后,在升级下一个实例之前,等待辅助副本恢复到
SECONDARY
状态。要检查成员的状态,请在mongosh
中运行rs.status()
。辅助副本可能会短暂进入
STARTUP2
或RECOVERING
状态。这是正常的。在继续升级之前,请确保辅助副本已完全恢复到SECONDARY
状态。
升级主节点
将主节点降级以启动正常的 故障转移 程序。使用以下方法之一
rs.stepDown()
辅助函数在mongosh
。replSetStepDown
数据库命令。
在故障转移期间,集合无法接受写入。通常这需要 10-20 秒。在预定义的维护窗口期间计划升级。
注意
降级主节点比直接 关闭 主节点更可取。降级可以加快故障转移程序。
一旦主节点降级,从
mongosh
调用rs.status()
方法,直到您看到另一个成员已假定PRIMARY
状态。关闭原始主节点,并按照 升级 MongoDB 实例 中的说明升级其实例。
升级分片集群
要升级 8.0 分片集群
如 禁用均衡器 中所述禁用集群的均衡器。
升级 配置服务器。
要升级配置服务器副本集,请使用 升级副本集 中的程序。
升级每个分片。
如果分片是副本集,请使用 升级副本集 中的程序升级分片。
如果分片是一个独立实例,请按照标题为“升级 MongoDB 实例。”的步骤来升级分片。
一旦配置服务器和分片都已升级,请按照升级 MongoDB 实例中的说明升级每个
mongos
实例。您可以按任何顺序升级mongos
实例。重新启用均衡器,具体操作请参见启用均衡器。