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

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

将 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 \
      --project= \
      --location= \
      --version=
    
  2. 请按照以下步骤验证升级是否成功:

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

    2. 点击查看实例以在 Cloud Data Fusion 网页界面中访问已升级的实例。

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

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

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

升级批处理流水线

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

  1. 设置环境变量

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

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

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

升级实时流水线

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

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

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

升级以启用复制功能

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

为升级后的实例授予角色

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

后续步骤