IBM Cloud Docs
升级到新的主要版本

升级到新的主要版本

当数据库的主版本处于其生命周期结束 (EOL) 时,请升级到当前主版本。 您可以升级 IBM Cloud® Databases for Elasticsearch 部署以使用最新版本的 Elasticsearch。

升级到可用于 Databases for Elasticsearch的最新版本的 Elasticsearch。 通过 目录Cloud Databases CLI 插件Cloud Databases API来查找最新版本。

通过将数据的备份 复原 到新部署来处理升级。 从备份复原有许多优点:

  • 原始数据库保持运行,并且可以不中断生产工作。
  • 可以在生产环境外部测试新数据库,并对任何应用程序不兼容性采取行动。
  • 整个过程可以在任何时候重新运行。
  • 全新恢复可降低旧版本数据库中不需要的人工痕迹被带到新数据库中的可能性。

升级之前

在将群集升级到 8.x 版本之前,请执行以下操作:

  • 检查在 "Databases for Elasticsearch上自动启用并发送到 "IBM® Cloud Logs 的 "弃用日志,看看您是否使用了任何过时的功能,并更新您的代码。
  • 查看 重大更改,并针对版本 8.x 对代码和配置进行必要更改。
  • 如果使用插件,请确保每个插件版本与 Elasticsearch 版本 8.x 兼容。

索引映射

Elasticsearch 7.x及以上版本移除了映射类型。 在 Elasticsearch 7.x 或更高版本中创建的索引不再接受 缺省 映射。 7.x中的 API 中也不推荐使用类型。 有关更多信息,请参阅 Elasticsearch 除去映射类型

重建索引准则

Databases for Elasticsearch 索引仅与创建它们的发行版中的相同版本或 plusOne 版本兼容。 只有显式重建索引操作才会将索引更新为当前数据库版本。

与 Kibana 的连接

如果要部署 Kibana 以连接到 Databases for Elasticsearch 实例,请记住您部署的 Kibana 版本必须与 Elasticsearch 实例版本匹配。 供应新版本的 Kibana,以维护与升级后的实例的连接。

在 UI 中升级

恢复备份 从部署的概述页面上的备份和恢复选项卡升级到新版本时。 单击所选备份的溢出菜单或展开表行上的 Restore backup。 这将打开“还原供应”页面,您可以在此选择新部署的选项。 其中一个选项是“数据库版本”,将使用可供您使用的版本自动填充该版本。 选择一个版本,然后单击 Restore backup 开始配置和还原过程。

通过 CLI 进行升级

通过 IBM Cloud CLI 从备份升级和还原时,请从资源控制器使用以下调配命令。

ibmcloud resource service-instance-create <service-name> <service-id> <service-plan-id> <region>

参数 service-nameservice-idservice-plan-idregion 都是必需的。 您还可以在 JSON 对象中提供具有版本和备份标识参数的 -p。 在备份时,将使用与源部署相同的磁盘和内存自动调整新部署的大小。

可使用以下命令检索部署的备份和备份 ID 列表。

ibmcloud cdb deployment-backups-list <deployment name or CRN> --json

如下图所示,在资源控制器命令中使用所选备份的 ID 作为参数。

ibmcloud resource service-instance-create example-es-upgrade databases-for-elasticsearch standard us-south \
-p \ '{
  "backup_id": "crn:v1:bluemix:public:databases-for-elasticsearch:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "version":8.12
}'

通过 API 进行升级

与通过 API 进行供应类似,您需要先完成 使用资源控制器 API 的必要步骤,然后才能将其用于从备份进行升级。 然后,向 API 发送 POST 请求。 参数 nametargetresource_groupresource_plan_id 都是必需的。 您还提供版本和备份标识。 新部署与备份时的源部署具有相同的内存和磁盘分配。

可使用以下 API 请求检索部署的备份和备份 ID 列表。

curl -X GET  https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/backups  
-H 'Authorization: Bearer <>' \

在资源控制器 API 请求中使用所选备份的 ID,如下例所示。

curl -X POST \
  https://resource-controller.cloud.ibm/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-elasticsearch-standard",
    "backup_id": "crn:v1:bluemix:public:databases-for-elasticsearch:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
    "version":8.12
  }'