更改 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. 在 Google Cloud 控制台中,转到实例页面(在 CDAP 中,点击查看实例),然后打开实例。

    转到实例

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

    修改系统偏好设置

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

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

      system.profile.properties.imageVersion

    2. 值字段中输入所需的 Dataproc 映像,例如 1.5-debian10

    3. 点击保存并关闭

设置系统偏好设置

这项更改会影响整个 Cloud Data Fusion 实例,包括其所有命名空间和流水线运行实例,除非您在实例的命名空间、流水线或运行时参数中替换了映像版本属性。

在命名空间或流水线运行时参数中更改 Dataproc 映像版本

如果您尚未在命名空间偏好设置或流水线运行时参数中替换 Dataproc 映像版本,则可以跳过这些步骤。

命名空间偏好设置

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

  1. 在 Cloud Data Fusion 界面中打开您的实例。

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

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

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

    2. 点击完成

流水线运行时参数

如果您使用流水线运行时参数中的属性覆盖了映像版本,请执行以下步骤:

  1. 在 Cloud Data Fusion 界面中打开您的实例。

  2. 点击 流水线 > 列表,然后选择所需的流水线。

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

  3. 点击运行旁边的下拉菜单

    系统会打开运行时参数窗口。

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

  5. 点击保存

    设置流水线运行时参数

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

如果您将现有 Dataproc 集群与 Cloud Data Fusion 搭配使用,请按照 Dataproc 指南使用所需的 Dataproc 映像版本为您的 Cloud Data Fusion 版本重新创建集群。

如果在重新创建集群时有任何流水线正在运行,流水线将失败。后续运行应在重新创建的集群上执行。

或者,您可以使用所需的 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
    

    请替换以下内容:

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

  3. 在该 JSON 对象下,查看 config > softwareConfig > imageVersion 中的映像。