本文件說明如何建立 Dataproc 零規模叢集。
Dataproc 零規模叢集提供經濟實惠的 Dataproc 叢集使用方式。與至少需要兩個主要 worker 的標準 Dataproc 叢集不同,Dataproc 零規模叢集只會使用次要 worker,且可縮減至零。
Dataproc 零規模叢集非常適合做為長時間執行的叢集,例如代管 Jupiter 筆記本的叢集,這類叢集會經歷閒置期。這類政策會使用零規模自動調度資源政策,提升資源使用率。
特性和限制
Dataproc 零規模叢集與標準叢集類似,但具有下列獨特特徵和限制:
- 必須使用
2.2.53以上版本的映像檔。 - 僅支援次要 worker,不支援主要 worker。
包含 YARN 等服務,但不支援 HDFS 檔案系統。
- 如要將 Cloud Storage 做為預設檔案系統,請將
core:fs.defaultFS叢集屬性設為 Cloud Storage bucket 位置 (gs://BUCKET_NAME)。 - 如果在建立叢集時停用元件,也請停用 HDFS。
- 如要將 Cloud Storage 做為預設檔案系統,請將
無法轉換為標準叢集,也無法從標準叢集轉換。
ZERO_SCALE叢集類型需要自動調度資源政策。機型必須選取彈性 VM。
不支援 Oozie 元件。
無法透過 Google Cloud 控制台建立。
選用:設定自動調度資源政策
您可以設定自動調度資源政策,為零調度叢集定義次要工作資源調度。執行時請注意下列事項:
- 將叢集類型設為
ZERO_SCALE。 - 僅為次要 worker 設定自動調度資源政策。
詳情請參閱「建立自動調度資源政策」。
建立 Dataproc 零規模叢集
使用 gcloud CLI 或 Dataproc API 建立零規模叢集。
gcloud
在終端機視窗或 Cloud Shell 中,於本機執行 gcloud dataproc clusters create 指令。
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--cluster-type=zero-scale \
--autoscaling-policy=AUTOSCALING_POLICY \
--properties=core:fs.defaultFS=gs://BUCKET_NAME \
--secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
...other args
更改下列內容:
- CLUSTER_NAME:Dataproc 零規模叢集的名稱。
- REGION:可用的 Compute Engine 區域。
- AUTOSCALING_POLICY:自動調度資源政策的 ID 或資源 URI。
- BUCKET_NAME:Cloud Storage bucket 的名稱。
- MACHINE_TYPE:特定 Compute Engine 機型,例如
n1-standard-4、e2-standard-8。 - RANK:定義機型清單的優先順序。
REST
使用 Dataproc REST API cluster.create 要求建立零規模叢集:
- 將
secondaryWorkerConfig的ClusterConfig.ClusterType設為ZERO_SCALE。 - 將
AutoscalingConfig.policyUri設為ZERO_SCALE自動調度資源政策 ID。 - 新增
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property。 請將 BUCKET_NAME 改成您的 Cloud Storage bucket 名稱。
後續步驟
- 進一步瞭解 Dataproc 自動調度資源。