更改 Cloud Data Fusion 中的 Dataproc 映像版本

本页面介绍了如何更改所用的 Dataproc 映像版本 由 Cloud Data Fusion 实例管理。您可以在以下位置更改图片: 实例、命名空间或流水线级别。

准备工作

停止 Cloud Data Fusion 实例。如果在更改 Dataproc 映像版本时实时流水线或复制正在运行,则更改不会应用于流水线执行。

对于启用了检查点功能的实时流水线,停止这些流水线不会造成任何数据丢失。对于复制作业,只要数据库日志可用,停止后再启动复制作业就不会造成任何数据丢失。

控制台

  1. 转到 Cloud Data Fusion 的实例页面(在 CDAP 中,点击查看实例)并打开需要停止流水线的实例。

    转到实例

  2. 在“流水线 Studio”中打开每个实时流水线,然后点击停止

  3. 复制页面上打开每个复制作业,然后 点击停止

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 版本

  1. 前往 Cloud Data Fusion 网页界面

  2. 依次点击系统管理员 > 配置 > 系统偏好设置

    修改系统偏好设置

  3. 如果未在“系统偏好设置”中指定 Dataproc 映像,或者要更改偏好设置,请点击修改系统偏好设置

    1. 索引键字段中输入以下文本:

      system.profile.properties.imageVersion

    2. “Value”(值)字段中输入所选的 Dataproc 映像。 例如 2.1

    3. 点击保存并关闭

设置系统偏好设置

此更改会影响整个 Cloud Data Fusion 实例,包括 其命名空间和流水线运行,除非映像版本属性 在实例中的命名空间、流水线或运行时参数中被覆盖。

更改 Dataproc 映像版本

您可以在 Cloud Data Fusion 网页界面的“计算配置”“命名空间偏好设置”或“流水线运行时参数”中设置映像版本。

在命名空间偏好设置中更改图片

如果您在命名空间属性中覆盖了映像版本,请执行以下步骤:

  1. 前往 Cloud Data Fusion 网页界面

  2. 点击系统管理员 > 配置 > 命名空间

  3. 打开每个命名空间,然后点击偏好设置

    1. 确保没有使用索引键 system.profile.properties.imageVersion 和不正确的映像版本值覆盖。

    2. 点击完成

在“系统计算配置文件”中更改图片

  1. 前往 Cloud Data Fusion 网页界面

  2. 依次点击系统管理员 > 配置

  3. 依次点击“系统”计算配置文件 > 创建新配置文件

  4. 选择 Dataproc 预配程序。

    选择预配程序

  5. 为 Dataproc 创建配置文件。在映像版本中, 字段中,输入 Dataproc 映像版本。

    映像版本字段

  6. Studio 中运行流水线时选择此计算配置文件 页面。在流水线运行页面上,依次点击配置 > 计算配置,然后选择此配置文件。

  7. 选择 Dataproc 配置文件,然后点击保存

  8. 点击完成

在流水线运行时参数中更改映像

如果您使用运行时中的属性替换了映像版本 流水线的参数,请按以下步骤操作:

  1. 转到 Cloud Data Fusion 网页界面

  2. 点击 菜单 > 列表

  3. 列表页面上,选择要更新的流水线。

    该流水线将在 Studio 页面上打开。

  4. 如需展开运行选项,请点击 展开箭头。

    此时将打开 Runtime Arguments 窗口。

  5. 检查是否没有使用索引键 system.profile.properties.imageVersion 和不正确的映像版本值覆盖。

  6. 点击保存

    设置流水线运行时参数

使用所选映像版本重新创建 Cloud Data Fusion 使用的静态 Dataproc 集群

如果您将现有 Dataproc 集群与 Cloud Data Fusion,请遵循 Dataproc 使用 为 Cloud Data Fusion 选择的 Dataproc 映像版本 版本。

或者,您可以使用所选的 Dataproc 映像版本创建新的 Dataproc 集群,然后在 Cloud Data Fusion 中删除计算配置文件并使用相同的计算配置文件名称和更新后的 Dataproc 集群名称重新创建该计算配置文件。这样,运行批处理流水线就可以在现有集群上完成执行,而后续流水线将在新的 Dataproc 集群上运行。确认所有流水线运行已完成后,您可以删除旧的 Dataproc 集群。

检查 Dataproc 映像版本是否已更新

控制台

  1. 在 Google Cloud 控制台中,前往 Dataproc 集群 页面。

    转到集群

  2. 打开您在指定新版本时 Cloud Data Fusion 创建的新集群的集群详细信息页面。

    映像版本字段具有您在 Cloud Data Fusion 中指定的新值。

REST API

  1. 获取集群及其元数据的列表:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
    

    替换以下内容:

    • PROJECT_ID 替换为您的命名空间名称
    • REGION_ID 替换为区域的名称 集群位于
  2. 搜索流水线的名称(集群名称)。

  3. 在该 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