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 后缀)会在新的主要版本发布之前发布:

  • 预览图片不适用于生产工作负载。
  • 在正式版映像发布后,预览版映像的组件版本可能会升级到最新的可用组件版本。

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

  • 以下各项的次要版本和更新:
    • 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 支持政策的涵盖范围内。

有关版本控制的重要说明

  • 映像版本包含以下组件:
  • 新的映像版本发布后,您的 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"
          
    • 测试并验证您的应用是否能够在使用新映像版本创建的集群上成功运行,尤其是在使用新的主要映像版本时。