本页介绍了如何升级实例或批处理流水线的版本。
将 Cloud Data Fusion 实例和批处理流水线升级到最新的平台和插件版本,以获取最新功能、bug 修复和性能提升。
准备工作
- 为升级安排停机时间。 此过程最多需要一个小时。
-
In the Google Cloud console, activate Cloud Shell.
限制
创建 Cloud Data Fusion 实例后,您无法更改其版本,即使通过升级操作也是如此。
请勿使用 Terraform 触发升级,因为它会删除并重新创建实例,而不是执行就地升级。此问题会导致实例中的所有现有数据丢失。
不支持升级实时流水线,但在使用 Kafka 实时来源在版本 6.8.0 中创建的流水线中除外。如需了解解决方法,请参阅升级实时流水线。
Cloud Data Fusion 不会重启因升级操作而停止的流水线。
升级 Cloud Data Fusion 实例
如需将 Cloud Data Fusion 实例升级到新的 Cloud Data Fusion 版本,请前往实例详情页面:
在 Google Cloud 控制台中,前往 Cloud Data Fusion 页面。
点击实例,然后点击实例名称以前往实例详情页面。
然后,使用 Google Cloud 控制台或 gcloud CLI 执行升级:
控制台
点击升级以获取可用版本的列表。
选择一个版本。
点击升级。
验证升级是否成功:
刷新实例详情页面。
点击查看实例,在 Cloud Data Fusion Web 界面中访问升级后的实例。
点击菜单栏中的系统管理。
新的版本号会显示在页面顶部。
如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色。
gcloud
如需升级到新的 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
可选:如果您的实例适用,请添加
--enable_stackdriver_logging
、--enable_stackdriver_monitoring
和--labels
标志。可选:您可以将 CDAP 属性(例如
enable.unrecoverable.reset
)作为--options
传递。
请按以下步骤验证升级是否成功:
在 Google Cloud 控制台中,前往 Cloud Data Fusion 实例页面。
点击查看实例,在 Cloud Data Fusion Web 界面中访问升级后的实例。
点击菜单栏中的系统管理。
新的版本号会显示在页面顶部。
如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色。
升级批处理流水线
要升级 Cloud Data Fusion 批处理流水线以使用最新的插件版本,请执行以下操作:
建议:备份所有流水线。您可以通过以下两种方式之一备份流水线:
请按以下步骤下载 zip 文件:
- 如需触发 ZIP 文件下载,请使用以下命令备份所有流水线:
echo $CDAP_ENDPOINT/v3/export/apps
- 将网址输出复制到浏览器中。
- 解压缩下载的文件,然后确认已导出所有流水线。流水线按命名空间组织。
使用源代码管理 (SCM) 备份流水线,该功能在 6.9 及更高版本中提供。SCM 提供 GitHub 集成,您可以使用该集成来备份流水线。
请按照以下步骤升级流水线:
创建一个变量,指向您将在下一步中创建的
pipeline_upgrade.json
文件,以保存流水线列表。export PIPELINE_LIST=PATH/pipeline_upgrade.json
将 PATH 替换为文件的路径。
使用以下命令创建实例和命名空间的所有流水线的列表。结果以
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 替换为您要升级到的命名空间。
升级
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。
如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色。
升级实时流水线
不支持升级实时流水线,但在使用 Kafka 实时源在版本 6.8.0 中创建的流水线除外。
对于所有其他操作,您应改为执行以下操作:
- 停止并导出流水线。
- 升级实例。
- 将实时流水线导入升级后的实例。
升级以启用复制功能
可以在 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
)。