本教程介绍如何使用API将 MongoDB 部署迁移到新版本的 MongoDB。 这些步骤假设您现有的部署使用4.0.6版本的 MongoDB,就像您使用教程通过 API 部署集群一样。
注意
注意:群组和项目是同义词。您的 {PROJECT-ID} 与您的项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。当引用说明时,此页面将使用“群组”这个更为人熟知的术语。终结点仍如文档中所述。
Considerations
API 支持大多数 MongoDB 设置和参数,适用于 MongoDB 2.6 及更高版本。要了解更多,请参阅 MongoDB 设置和自动化支持。
警告
从 MongoDB 5.0升级到6.0
When you upgrade a sharded cluster from MongoDB 5.0 to 6.0, you must use the procedure on the Upgrade a Sharded Cluster to 6.0 page of the MongoDB Manual to refresh the cached routing table for each mongos.
用于更新 MongoDB 版本的 API 资源变量
API 资源使用其中的一个或多个变量。 在调用这些 API 资源之前,将这些变量替换为您所需的值。
先决条件
您必须拥有凭据才能以具有Global Owner角色的用户身份访问 Ops Manager。
步骤
从 Ops Manager 检索自动化配置。
使用AutomationConfig资源检索配置。 发出以下命令,将占位符替换为 API 资源变量,以更新 MongoDB 版本。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --output currentAutomationConfig.json 验证下载的自动化配置文件。
验证
currentAutomationConfig.json和mms-cluster-config-backup.json文件中的内容是否为最新。您可以在任何运行 MongoDB Agent 的托管上找到
mms-cluster-config-backup.json文件,路径如下:Linux 和 macOS:
/var/lib/mongodb-mms-automation/mms-cluster-config-backup.jsonWindows:
%SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json
打开配置文档进行编辑。
在后续步骤中编辑配置文档时,请参阅自动化配置的描述以了解设置的详细说明。
发送更新的自动化配置。
使用AutomationConfig资源发送更新的自动化配置。
使用更新后的配置文档的路径发出以下命令,并将占位符替换为 API 资源变量以更新 MongoDB 版本。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" \ --request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --data @currentAutomationConfig.json
成功更新配置后,API 会返回 HTTP 200 OK状态代码,以指示请求已成功。
检查部署状态以确保达到目标状态。
使用AutomationStatus资源检索部署状态。 发出以下命令,将占位符替换为 API 资源变量,以更新 MongoDB 版本。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"
确认processes数组中所有lastGoalVersionAchieved字段的值与goalVersion字段匹配。 要了解部署状态,请参阅获取最新计划的自动化状态。