Dataproc 版本控制

Dataproc 使用映像将有用的 Google Cloud Platform 连接器、Apache Spark 和 Apache Hadoop 组件捆绑到一个可部署在 Dataproc 集群上的软件包中。这些映像包含集群的基本操作系统(Debian 或 Ubuntu),以及运行作业所需的核心组件和可选组件,例如 Spark、Hadoop 和 Hive。 这些映像会定期升级,以纳入新的改进和功能。通过 Dataproc 版本控制功能,您可以在创建集群时选择软件版本集。

版本控制的工作原理

创建映像后,该映像会获得下列格式的映像版本号:

version_major.version_minor.version_sub_minor-os_distribution

目前接受维护的是以下操作系统发行版:

操作系统发行版代码 操作系统发行版
debian12 Debian 12
debian10 Debian 10
debian11 Debian 11
rocky8 Rocky Linux 8
rocky9 Rocky Linux 9
ubuntu18 Ubuntu 18.04 LTS
ubuntu20 Ubuntu 20.04 LTS
ubuntu22 Ubuntu 22.04 LTS

如需查看以前支持的操作系统发行版,请参阅旧映像版本

建议的做法是为生产环境指定 major.minor 映像版本,或者当与特定组件版本的兼容性很重要时指定此映像版本。次要发行版和操作系统发行版会自动设置为最新的每周版本。

选择版本

当您创建新的 Dataproc 集群时,默认情况下将使用最新的可用 Debian 映像版本。您可以在创建集群时选择 Debian、Rocky Linux 或 Ubuntu 映像版本(请参阅 Dataproc 映像版本列表)。指定基于 Debian 的映像时,您可以省略操作系统发行版代码后缀,例如通过指定 2.0 来选择 2.0-debian10 映像。要选择基于 Rocky Linux 或 Ubuntu 的映像,您必须使用操作系统后缀,例如指定 2.0-ubuntu18

gcloud 命令

使用 gcloud dataproc clusters create 命令时,您可以使用 --image-version 参数指定新集群的映像版本。

Debian 映像示例:

gcloud dataproc clusters create cluster-name \
    --image-version=2.0 \
    --region=region

Ubuntu 映像示例:

gcloud dataproc clusters create cluster-name \
    --image-version=2.0-ubuntu18 \
    --region=region

最佳实践是省略次要版本,以使用最新的次要版本。但是,如有必要,可以指定次要版本,例如“2.0.20”。

您可以使用 Google Cloud CLI 查看当前版本。

gcloud dataproc clusters describe cluster-name \
    --region=region

REST API

您可以将 SoftwareConfig imageVersion 字段指定为 cluster.create API 请求的一部分。

示例

POST /v1/projects/project-id/regions/us-central1/clusters/
{
  "projectId": "project-id",
  "clusterName": "example-cluster",
  "config": {
    "configBucket": "",
    "gceClusterConfig": {
      "subnetworkUri": "default",
      "zoneUri": "us-central1-b"
    },
    "masterConfig": {
      ...
      }
    },
    "workerConfig": {
      ...
      }
    },
    "softwareConfig": {
      "imageVersion": "2.0"
    }
  }
}
  

控制台

打开 Dataproc 创建集群页面。选中“设置集群”面板。“版本控制”部分的“映像类型和版本”字段显示创建集群时将使用的映像。还会显示映像的发布日期。最初,默认映像(最新的可用 Debian 版本)显示为已选项。点击“变更”,显示可用映像的列表。选择要用于集群的标准或自定义映像

何时创建新版本

我们会定期创建新的主要版本,以整合以下一项或多项内容:

  • 以下各项的主要版本:
    • Spark、Hadoop 和其他大数据组件
    • Google Cloud 连接器
  • Dataproc 功能的重大更改或更新

新的预览版(带有 -RC 后缀)在新的主要版本发布之前发布:

  • 预览版映像不适合用于生产工作负载。
  • 预览版映像组件版本可能会升级到预览版 GA 映像版本中的最新可用组件版本。

我们会定期创建新的次要版本,以整合以下一项或多项内容:

  • 以下各项的次要版本和更新:
    • Spark、Hadoop 和其他大数据组件
    • Google Cloud 连接器
  • Dataproc 功能的细微变更或更新

创建新的次要版本后,该版本的 Debian 映像将成为主要版本的默认版本,并代表主要版本的最新版本。

我们会定期创建新的次要版本,以整合以下一项或多项内容:

  • 映像中组件的补丁程序或修复程序
  • 组件次要版本升级

映像版本和 Dataproc 支持

正式版首次发布后,次要映像版本支持 24 个月。在此期间,使用这些映像版本的集群有资格获得支持(如需接收修复,请使用受支持的最新次要映像版本重新创建集群)。支持期结束后,使用这些映像版本的集群将不再获得支持。

旧映像版本

以前支持的操作系统发行版

之前,以下操作系统发行版受支持:

操作系统发行版代码 操作系统发行版 上次修补日期(支持终止日期)
debian9 Debian 9 2020 年 7 月 10 日
deb8 Debian 8 2018 年 10 月 26 日

没有明确的操作系统发行版的映像版本

在 2018 年 8 月 16 日之前,映像版本是使用 Debian 8 构建的,并省略了操作系统发行版代码。这些版本是通过以下格式指定的:

version_major.version_minor.version_sub_minor

0.1 和 0.2

在 Dataproc 版本 1.0 正式发布之前,作为 Alpha 版或 Beta 版发布的映像版本都不在 Dataproc 支持政策的涵盖范围内。

有关版本控制的重要说明

  • 映像版本包含以下组件:
    • 安装在所有集群(例如 Spark、Hadoop 和 Hive)上的核心组件
    • 您在创建集群时指定的可选组件
  • 新映像版本发布时,您的 Dataproc 集群不会自动更新。
    • 建议
    • 使用最新的次要映像版本运行集群。映像元数据包含一个 previous-subminor 标签,如果集群未使用最新的次要映像版本,则该标签设置为 true
      • 如需查看图片元数据,请执行以下操作:
        1. 运行以下 gcloud compute images list --filter 命令以列出 Dataproc 映像的资源名称。
          gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as 2.2.16-debian12)"
          
        2. 运行以下 gcloud compute images describe 以查看映像元数据。
          gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
          
    • 测试并验证您的应用能否在使用新映像版本创建的集群上成功运行,尤其是在使用新的主要映像版本时。