本页面介绍了如何升级实例或批处理流水线的版本。
将您的 Cloud Data Fusion 实例和批处理流水线升级到最新的平台和插件版本,以获享最新功能、bug 修复和性能改进。
准备工作
- 为升级计划安排的停机时间。 该过程最多需要一个小时。
-
在 Google Cloud 控制台中,激活 Cloud Shell。
限制
创建 Cloud Data Fusion 实例后,您无法更改其版本,即使升级操作也无法更改。
不支持升级实时流水线,但在 6.8.0 版中使用 Kafka 实时源创建的流水线除外。如需了解解决方法,请参阅升级实时流水线。
Cloud Data Fusion 不会重启因升级操作而停止的流水线。
升级 Cloud Data Fusion 实例
如需将 Cloud Data Fusion 实例升级到新的 Cloud Data Fusion 版本,请转到实例详情页面:
在 Google Cloud 控制台中,转到 Cloud Data Fusion 页面。
点击实例,然后点击相应实例的名称以转到实例详情页面。
然后使用 Google Cloud 控制台或 gcloud CLI 执行升级:
控制台
点击升级以获取可用版本的列表。
选择一个版本。
点击升级。
验证升级是否成功:
刷新实例详情页面。
点击查看实例,在 Cloud Data Fusion 网页界面中访问升级后的实例。
点击菜单栏中的系统管理员。
新的版本号会显示在页面顶部。
如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色。
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 网页界面中访问升级后的实例。
点击菜单栏中的 System Admin。
新的版本号会显示在页面顶部。
如需避免在新版本中运行流水线时流水线卡住,请在升级后的实例中授予所需的角色。
升级批处理流水线
要升级 Cloud Data Fusion 批处理流水线以使用最新的插件版本,请执行以下操作:
建议:备份所有流水线。您可以通过以下两种方式之一备份流水线:
请按以下步骤下载 ZIP 文件:
- 如需触发 ZIP 文件下载,请使用以下命令备份所有流水线:
echo $CDAP_ENDPOINT/v3/export/apps
- 将输出的网址复制到浏览器中。
- 解压缩下载的文件,然后确认所有流水线均已导出。流水线按命名空间组织。
使用 6.9 及更高版本中提供的源代码控制管理 (SCM) 备份流水线。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。
为防止流水线在新版本中运行卡住,请在升级后的实例中授予所需的角色。
升级实时流水线
不支持升级实时流水线,但在 6.8.0 版中使用 Kafka 实时源创建的流水线除外。
对于其他所有操作,您需要执行以下操作:
- 停止并导出流水线。
- 升级实例。
- 将实时流水线导入升级后的实例。
升级以启用复制功能
您可以在 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 服务帐号。