管理实例和流水线的版本升级

本页介绍了如何升级实例或批处理流水线的版本。

将 Cloud Data Fusion 实例和批处理流水线升级到最新的平台和插件版本,以获取最新功能、bug 修复和性能提升。

准备工作

  • 为升级安排停机时间。 此过程最多需要一个小时。
  • In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

限制

  • 创建 Cloud Data Fusion 实例后,您无法更改其版本,即使通过升级操作也是如此。

  • 请勿使用 Terraform 触发升级,因为它会删除并重新创建实例,而不是执行就地升级。此问题会导致实例中的所有现有数据丢失。

  • 不支持升级实时流水线,但在使用 Kafka 实时来源在版本 6.8.0 中创建的流水线中除外。如需了解解决方法,请参阅升级实时流水线

  • Cloud Data Fusion 不会重启因升级操作而停止的流水线。

升级 Cloud Data Fusion 实例

如需将 Cloud Data Fusion 实例升级到新的 Cloud Data Fusion 版本,请前往实例详情页面:

  1. 在 Google Cloud 控制台中,前往 Cloud Data Fusion 页面。

  2. 点击实例,然后点击实例名称以前往实例详情页面。

    转到实例

然后,使用 Google Cloud 控制台或 gcloud CLI 执行升级:

控制台

  1. 点击升级以获取可用版本的列表。

  2. 选择一个版本。

  3. 点击升级

  4. 验证升级是否成功:

    1. 刷新实例详情页面。

    2. 点击查看实例,在 Cloud Data Fusion Web 界面中访问升级后的实例。

    3. 点击菜单栏中的系统管理

      新的版本号会显示在页面顶部。

  5. 如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色

gcloud

  1. 如需升级到新的 Cloud Data Fusion 版本,请从本地终端 Cloud Shell 会话运行以下 gcloud CLI 命令:

      gcloud beta data-fusion instances update INSTANCE_ID \
        --project=PROJECT_ID \
        --location=LOCATION_NAME \
        --version=AVAILABLE_INSTANCE_VERSION
    
  2. 请按以下步骤验证升级是否成功:

    1. 在 Google Cloud 控制台中,前往 Cloud Data Fusion 实例页面。

    2. 点击查看实例,在 Cloud Data Fusion Web 界面中访问升级后的实例。

    3. 点击菜单栏中的系统管理

      新的版本号会显示在页面顶部。

  3. 如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色

升级批处理流水线

要升级 Cloud Data Fusion 批处理流水线以使用最新的插件版本,请执行以下操作:

  1. 设置环境变量

  2. 建议:备份所有流水线。您可以通过以下两种方式之一备份流水线:

    • 请按以下步骤下载 zip 文件:

      1. 如需触发 ZIP 文件下载,请使用以下命令备份所有流水线:
      echo $CDAP_ENDPOINT/v3/export/apps
      
      1. 将网址输出复制到浏览器中。
      2. 解压缩下载的文件,然后确认已导出所有流水线。流水线按命名空间组织。
    • 使用源代码管理 (SCM) 备份流水线,该功能在 6.9 及更高版本中提供。SCM 提供 GitHub 集成,您可以使用该集成来备份流水线。

  3. 请按照以下步骤升级流水线:

    1. 创建一个变量,指向您将在下一步中创建的 pipeline_upgrade.json 文件,以保存流水线列表。

      export PIPELINE_LIST=PATH/pipeline_upgrade.json
      

      PATH 替换为文件的路径。

    2. 使用以下命令创建实例和命名空间的所有流水线的列表。结果以 JSON 格式存储在 $PIPELINE_LIST 文件中。您可以修改列表以移除不需要升级的流水线。

      curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps -o $PIPELINE_LIST
      

      NAMESPACE_ID 替换为您要升级到的命名空间。

    3. 升级 pipeline_upgrade.json 中列出的流水线。插入要升级的流水线的 NAMESPACE_ID。该命令会显示升级流水线列表及其升级状态。

      curl -N -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/upgrade --data @$PIPELINE_LIST
      

      NAMESPACE_ID 替换为要升级的流水线的命名空间 ID。

  4. 如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色

升级实时流水线

不支持升级实时流水线,但在使用 Kafka 实时源在版本 6.8.0 中创建的流水线除外。

对于所有其他操作,您应改为执行以下操作:

  1. 停止并导出流水线。
  2. 升级实例。
  3. 将实时流水线导入升级后的实例。

升级以启用复制功能

可以在 Cloud Data Fusion 版本 6.3.0 或更高版本中启用复制功能。如果您使用的是 6.2.3 版,请升级到 6.3.0,然后再升级到最新版本。然后,您可以启用复制功能

为升级后的实例授予角色

升级完成后,向项目中的 Dataproc 服务账号授予 Cloud Data Fusion Runner 角色 (roles/datafusion.runner) 和 Cloud Storage Admin 角色 (roles/storage.admin)。

后续步骤