Dataproc 版本管理

Dataproc 會使用映像檔將有用的 Google Cloud連接器,以及 Apache Spark 與 Apache Hadoop 元件整合成一個套件,讓您能用來部署到 Dataproc 叢集。這些映像檔包含叢集的基本作業系統 (Debian 或 Ubuntu),以及執行工作所需的核心與選用元件,例如 Spark、Hadoop 和 Hive。我們會定期升級這些映像檔,加入新的改善項目和功能。Dataproc 版本管理可讓您在建立叢集時選擇一組軟體版本。

版本管理的運作方式

映像檔建立時會給予一個格式如下的圖片版本編號:

version_major.version_minor.version_sub_minor-os_distribution

以下作業系統版本已維護:

作業系統版本編碼 OS 發行版
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「Create a cluster」(建立叢集) 頁面。選取「設定叢集」面板。「Versioning」部分中的「Image type」和「Version」欄位會顯示系統將在建立叢集時使用的映像檔。系統也會顯示圖片發布日期。系統一開始會顯示預設映像檔 (最新可用的 Debian 版本) 為已選取。按一下「Change」,即可查看可用的圖片清單。您可以為叢集選取標準或自訂映像檔

建立新版本時

我們會定期建立新的主要版本,以納入下列其中一或多個項目:

  • 下列項目的主要版本:
    • Spark、Hadoop 和其他大數據元件
    • Google Cloud 連接器
  • Dataproc 功能的主要變更或更新

新的主要版本發布前,會先發布新的預先發布版本 (附有 -RC 後綴):

  • 預覽圖片不應用於正式環境工作負載。
  • 預覽圖片元件版本可能會升級至後續 GA 映像檔版本中可用的最新元件版本。

我們會定期建立新的次要版本,以納入下列其中一或多個項目:

  • 下列項目的次要版本和更新:
    • Spark、Hadoop 和其他大數據元件
    • Google Cloud 連接器
  • Dataproc 功能的次要變更或更新

建立新的次要版本時,該版本的 Debian 映像檔會成為主要版本的預設映像檔,代表該主要版本所用的最新版本。

我們會定期建立新的副次要版本,以納入下列其中一或多個項目:

  • 映像檔中元件的修補程式或修正內容
  • 元件次次要版本升級

映像檔版本與 Dataproc 支援

從初始 GA (正式發布) 版本發布起算,子版本會獲得 24 個月的支援。在此期間,使用這些映像檔版本的叢集也能取得支援 (如要取得修正,請使用最新的支援副次要映像檔版本重新建立叢集)。在支援期限過後,使用這些映像檔版本的叢集將無法繼續取得支援。

舊映像檔版本

之前支援的作業系統版本

以下為之前支援的作業系統版本:

作業系統版本編碼 OS 發行版 上次修補 (支援結束)
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"
          
    • 請測試並驗證應用程式是否能在使用新映像檔版本建立的叢集中順利執行,尤其是在使用新的主要映像檔版本時。