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

本页面介绍如何更改 Cloud Data Fusion 实例使用的 Dataproc 映像版本。您可以在实例、命名空间或流水线级别更改映像。

准备工作

停止 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. 值字段中输入所选的 Dataproc 映像,例如 2.1

    3. 点击 Save & Close(保存并关闭)。

设置系统偏好设置

除非在实例的命名空间、流水线或运行时参数中替换了映像版本属性,否则此更改会影响整个 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. 点击系统 Compute Profiles > Create New Profile

  4. 选择 Dataproc 预配工具。

    选择预配工具

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

    映像版本字段

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

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

  8. 点击完成

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

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

  1. 转到 Cloud Data Fusion 网页界面

  2. 依次点击 菜单 > 列表

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

    流水线会在 Studio 页面上打开。

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

    此时将打开 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 版及更高版本支持在 Java 11 中运行的 Dataproc 映像 2.1 Compute Engine。在版本 6.10.0 及更高版本中,映像 2.1 是默认版本。

如果您更改为映像 2.1,则为了成功执行批处理流水线和复制作业,数据库插件在这些实例中使用的 JDBC 驱动程序必须与 Java 11 兼容。

Dataproc 映像 2.1 在 Cloud Data Fusion 中具有以下限制:

  • 不支持 IBM Netezza 和 DB2 11 JDBC 驱动程序。
  • 图片 2.1 不适用于地图缩减作业。
  • 实例中的数据库插件中使用的 JDBC 驱动程序版本必须更新,以支持 Java 11。如需了解适用于 Dataproc 2.1 和 Java 11 的驱动程序版本,请参阅下表:
JDBC 驱动程序 从 Cloud Data Fusion 6.9.1 中移除了早期版本 支持 Java 8 和 Java 11 的版本,可与 Dataproc 2.0 或 2.1 配合使用
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 或更高版本,并且之前的流水线因内存问题而失败,请在流水线的 Resources 配置中将驱动程序和执行器内存增加到 2048 MB。配置资源。

或者,您可以通过将 system.profile.properties.imageVersion 运行时参数设置为 2.0-debian10 来替换 Dataproc 版本。