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

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

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

准备工作

  • 为升级计划安排的停机时间。 该过程最多需要一个小时。
  • 在 Google Cloud 控制台中,激活 Cloud Shell。

    激活 Cloud Shell

限制

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

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

  • 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 网页界面中访问升级后的实例。

    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 网页界面中访问升级后的实例。

    3. 点击菜单栏中的 System Admin

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

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

升级批处理流水线

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

  1. 设置环境变量

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

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

      1. 如需触发 ZIP 文件下载,请使用以下命令备份所有流水线:
      echo $CDAP_ENDPOINT/v3/export/apps
      
      1. 将输出的网址复制到浏览器中。
      2. 解压缩下载的文件,然后确认所有流水线均已导出。流水线按命名空间组织。
    • 使用 6.9 及更高版本中提供的源代码控制管理 (SCM) 备份流水线。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. 为防止流水线在新版本中运行卡住,请在升级后的实例中授予所需的角色

升级实时流水线

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

对于其他所有操作,您需要执行以下操作:

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

升级以启用复制功能

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

为升级后的实例授予角色

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

后续步骤