為減輕特定時間特定區域中,使用者指定 VM 無法使用 (缺貨) 的影響,Dataproc 可讓您指定可接受的最低主要工作站數量,要求建立 partial cluster
。
Standard 叢集 | 部分叢集 |
---|---|
如果無法建立及初始化一或多個主要工作站,叢集建立作業就會失敗。建立的工作會持續執行並產生費用,直到使用者刪除為止。 | 如果可以建立指定的工作站數量下限,系統就會建立叢集。系統會刪除失敗 (未初始化) 的工作站,且不會產生費用。如果無法建立及初始化指定的工作站數量下限,系統就不會建立叢集。系統不會刪除建立的工作人員,方便您進行偵錯。 |
縮短叢集建立時間。 | 由於所有節點都必須回報佈建狀態,因此叢集建立時間可能會較長。 |
您可以建立單一節點叢集。 | 無法建立單一節點叢集。 |
自動調度資源
使用自動調度資源搭配部分叢集建立作業,確保建立目標 (完整) 數量的主要工作站。如果工作負載需要,自動調度資源功能會在背景嘗試取得失敗的工作站。
以下是自動調度資源政策範例,會重試,直到主要工作站執行個體總數達到 10 個的目標大小為止。政策的 minInstances
和 maxInstances
會與叢集建立時指定的主要工作站數量下限和總數相符 (請參閱「建立部分叢集」)。將 scaleDownFactor
設為 0 可防止叢集從 10 個工作站縮減為 8 個,並有助於將工作站數量維持在上限 10 個。
workerConfig:
minInstances: 8
maxInstances: 10
basicAlgorithm:
cooldownPeriod: 2m
yarnConfig:
scaleUpFactor: 1
scaleDownFactor: 0
gracefulDecommissionTimeout: 1h
建立部分叢集
您可以使用 Google Cloud CLI 或 Dataproc API 建立 Dataproc 部分叢集。
gcloud
如要在指令列建立 Dataproc 部分叢集,請在本機的終端機視窗或在 Cloud Shell 中執行下列 gcloud dataproc clusters create
指令。
gcloud dataproc clusters create CLUSTER_NAME \ --project=PROJECT \ --region=REGION \ --num-workers=NUM_WORKERS \ --min-num-workers=MIN_NUM_WORKERS \ other args ...
更改下列內容:
- CLUSTER_NAME:叢集名稱開頭須為小寫英文字母,其後最多可接 51 個小寫英文字母、數字和連字號,但結尾不得為連字號。
- PROJECT:指定與工作叢集相關聯的專案。
- REGION:指定工作叢集所在的 Compute Engine 區域。
- NUM_WORKERS:叢集中要建立的主要工作站總數 (如有)。
- MIN_NUM_WORKERS:如果無法建立指定的工作站總數 (
NUM_WORKERS
),則要建立的主要工作站數量下限。如果無法建立這個主要工作站數量下限 (建立的工作站不會刪除,方便您進行偵錯),叢集建立作業就會失敗。如果省略此標記,系統會嘗試建立標準叢集,並使用主要工作站總數 (NUM_WORKERS
)。
REST
如要建立 Dataproc 部分叢集,請在 clusters.create 要求中,於 workerConfig.minNumInstances
欄位指定主要工作站的最小數量。
顯示已佈建的工作站數量
建立叢集後,您可以執行下列 gcloud CLI 指令,列出叢集中佈建的工作站數量,包括任何次要工作站。
gcloud dataproc clusters list \ --project=PROJECT \ --region=REGION \ --filter=clusterName=CLUSTER_NAME