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 支持政策的涵盖范围内。
有关版本控制的重要说明
- 映像版本包含以下组件: <ph type="x-smartling-placeholder">
- 创建新的 Dataproc 集群时,您的 Dataproc 集群不会自动更新,
映像版本。
- 建议:
- 使用最新的次要映像版本运行集群。映像元数据包含
previous-subminor
标签,如果集群未使用最新的子次要映像版本,则该标签会设为true
。- 如需查看图片元数据,请执行以下操作:
- 运行以下
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
)" - 运行以下
gcloud compute images describe
查看映像元数据。gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- 运行以下
- 如需查看图片元数据,请执行以下操作:
- 测试并验证您的应用能否在 新映像版本,尤其是在使用新的主要映像版本时。