本页面介绍了如何更改所用的 Dataproc 映像版本 由 Cloud Data Fusion 实例管理。您可以在以下位置更改图片: 实例、命名空间或流水线级别。
准备工作
停止 Cloud Data Fusion 实例。如果在更改 Dataproc 映像版本时实时流水线或复制正在运行,则更改不会应用于流水线执行。
对于启用了检查点功能的实时流水线,停止这些流水线不会造成任何数据丢失。对于复制作业,只要数据库日志可用,停止后再启动复制作业就不会造成任何数据丢失。
控制台
转到 Cloud Data Fusion 的实例页面(在 CDAP 中,点击查看实例)并打开需要停止流水线的实例。
在“流水线 Studio”中打开每个实时流水线,然后点击停止。
在复制页面上打开每个复制作业,然后 点击停止。
REST API
如需检索所有流水线,请使用以下 REST API 调用:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
将
NAMESPACE_ID
替换为您的命名空间名称。如需停止实时流水线,请使用以下 REST API 调用:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
将 NAMESPACE_ID 替换为您的命名空间名称,并将 PIPELINE_NAME 替换为实时流水线的名称。
如需停止复制作业,请使用以下 REST API 调用:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
将 NAMESPACE_ID 替换为您的命名空间的名称,并将 REPLICATION_JOB_NAME 替换为复制作业的名称。
在 Cloud Data Fusion 中检查并替换默认的 Dataproc 版本
依次点击系统管理员 > 配置 > 系统偏好设置。
如果未在“系统偏好设置”中指定 Dataproc 映像,或者要更改偏好设置,请点击修改系统偏好设置。
在索引键字段中输入以下文本:
system.profile.properties.imageVersion
在“Value”(值)字段中输入所选的 Dataproc 映像。 例如
2.1
。点击保存并关闭。
此更改会影响整个 Cloud Data Fusion 实例,包括 其命名空间和流水线运行,除非映像版本属性 在实例中的命名空间、流水线或运行时参数中被覆盖。
更改 Dataproc 映像版本
您可以在 Cloud Data Fusion 网页界面的“计算配置”“命名空间偏好设置”或“流水线运行时参数”中设置映像版本。
在命名空间偏好设置中更改图片
如果您在命名空间属性中覆盖了映像版本,请执行以下步骤:
点击系统管理员 > 配置 > 命名空间。
打开每个命名空间,然后点击偏好设置。
确保没有使用索引键
system.profile.properties.imageVersion
和不正确的映像版本值覆盖。点击完成。
在“系统计算配置文件”中更改图片
依次点击系统管理员 > 配置。
依次点击“系统”计算配置文件 > 创建新配置文件。
选择 Dataproc 预配程序。
为 Dataproc 创建配置文件。在映像版本中, 字段中,输入 Dataproc 映像版本。
在 Studio 中运行流水线时选择此计算配置文件 页面。在流水线运行页面上,依次点击配置 > 计算配置,然后选择此配置文件。
选择 Dataproc 配置文件,然后点击保存。
点击完成。
在流水线运行时参数中更改映像
如果您使用运行时中的属性替换了映像版本 流水线的参数,请按以下步骤操作:
点击 > 列表。
菜单在列表页面上,选择要更新的流水线。
该流水线将在 Studio 页面上打开。
如需展开运行选项,请点击
展开箭头。此时将打开 Runtime Arguments 窗口。
检查是否没有使用索引键
system.profile.properties.imageVersion
和不正确的映像版本值覆盖。点击保存。
使用所选映像版本重新创建 Cloud Data Fusion 使用的静态 Dataproc 集群
如果您将现有 Dataproc 集群与 Cloud Data Fusion,请遵循 Dataproc 使用 为 Cloud Data Fusion 选择的 Dataproc 映像版本 版本。
或者,您可以使用所选的 Dataproc 映像版本创建新的 Dataproc 集群,然后在 Cloud Data Fusion 中删除计算配置文件并使用相同的计算配置文件名称和更新后的 Dataproc 集群名称重新创建该计算配置文件。这样,运行批处理流水线就可以在现有集群上完成执行,而后续流水线将在新的 Dataproc 集群上运行。确认所有流水线运行已完成后,您可以删除旧的 Dataproc 集群。
检查 Dataproc 映像版本是否已更新
控制台
在 Google Cloud 控制台中,前往 Dataproc 集群 页面。
打开您在指定新版本时 Cloud Data Fusion 创建的新集群的集群详细信息页面。
映像版本字段具有您在 Cloud Data Fusion 中指定的新值。
REST API
获取集群及其元数据的列表:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
替换以下内容:
- 将
PROJECT_ID
替换为您的命名空间名称 - 将
REGION_ID
替换为区域的名称 集群位于
- 将
搜索流水线的名称(集群名称)。
在该 JSON 对象下,查看
config > softwareConfig > imageVersion
中的映像。
将 Dataproc 映像更改为版本 2.1
Cloud Data Fusion 6.9.1 版及更高版本支持 Dataproc 映像 2.1 Compute Engine,在 Java 11 中运行。 在 6.10.0 及更高版本中,映像 2.1 是默认映像。
如果您改用映像 2.1,批处理流水线和 复制作业成功与否的 JDBC 驱动程序 在这些实例中使用的插件必须与 Java 11 兼容。
Dataproc 映像 2.1 在 Cloud Data Fusion:
- 不支持 IBM Netezza 和 DB2 11 JDBC 驱动程序。
- Image 2.1 不适用于 MapReduce 作业。
- 实例中的数据库插件中使用的 JDBC 驱动程序版本必须是 已更新为支持 Java 11。如需了解驱动程序,请参阅下表 适用于 Dataproc 2.1 和 Java 11 的版本:
JDBC 驱动程序 | 从 Cloud Data Fusion 6.9.1 中移除了较低版本 | 与 Dataproc 2.0 或 2.1 搭配使用的 Java 8 和 Java 11 支持的版本 |
---|---|---|
Cloud SQL for MySQL JDBC 驱动程序 | - | 1.0.16 |
Cloud SQL for PostgreSQL JDBC 驱动程序 | - | 1.0.16 |
DB2 11 JDBC 驱动程序 | - | - |
Microsoft SQL Server JDBC 驱动程序 | Microsoft JDBC 驱动程序 6.0 | Microsoft JDBC 驱动程序 9.4 |
MySQL JDBC 驱动程序 | 5.0.8、5.1.39 | 8.0.25 |
IBM Netezza JDBC 驱动程序 | - | - |
PostgreSQL JDBC 驱动程序 | 9.4.1211.jre7、9.4.1211.jre8 | 42.6.0.jre8 |
Oracle JDBC 驱动程序 | ojdbc7 | ojdbc8(12c 及更高版本) |
使用 Dataproc 2.1 时的内存用量
使用 Dataproc 2.1 的流水线的内存用量可能会增加
集群。如果您将实例升级到 6.10.0 或更高版本,并且
会因为内存问题而失败,增加驱动程序,
将 executor 内存调整为 2048 MB(在 Resources
配置中),
流水线。
或者,您也可以通过设置
将 system.profile.properties.imageVersion
运行时参数设置为 2.0-debian10
。