本文說明如何建立 Dataproc 零規模叢集。
Dataproc 零規模叢集提供經濟實惠的 Dataproc 叢集使用方式。與至少需要兩個主要工作站的標準 Dataproc 叢集不同,Dataproc 零規模叢集只會使用次要工作站,且可縮減至零。
Dataproc 零規模叢集非常適合做為長時間執行的叢集,例如裝載 Jupiter 筆記本的叢集,這類叢集會經歷閒置期。透過零規模自動調度資源政策,提升資源使用率。
特性和限制
Dataproc 零規模叢集與標準叢集類似,但具有下列獨特特徵和限制:
- 必須使用
2.2.53
以上版本的映像檔。 - 僅支援次要工作者,不支援主要工作者。
包含 YARN 等服務,但不支援 HDFS 檔案系統。
- 如要將 Cloud Storage 做為預設檔案系統,請將
core:fs.defaultFS
叢集屬性設為 Cloud Storage 值區位置 (gs://BUCKET_NAME
)。 - 如果在建立叢集時停用元件,也請停用 HDFS。
- 如要將 Cloud Storage 做為預設檔案系統,請將
無法轉換為標準叢集,也無法從標準叢集轉換。
ZERO_SCALE
叢集類型必須有自動調度資源政策。必須選取彈性 VM 做為機器類型。
不支援 Oozie 元件。
無法透過 Google Cloud 控制台建立。
選用:設定自動調度資源政策
您可以設定自動調度資源政策,為零規模叢集定義次要工作調度資源。請注意下列事項:
- 將叢集類型設為
ZERO_SCALE
。 - 僅為次要工作站設定自動調度資源政策。
詳情請參閱「建立自動調度資源政策」。
建立 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 值區的名稱。
- 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_NAME
SoftwareConfig.property。 將 BUCKET_NAME 換成 Cloud Storage 值區名稱。
後續步驟
- 進一步瞭解 Dataproc 自動調度資源。