建立 Dataproc 部分叢集

為減輕特定時間特定區域中,使用者指定 VM 無法使用 (缺貨) 的影響,Dataproc 可讓您指定可接受的最低主要工作站數量,要求建立 partial cluster

Standard 叢集 部分叢集
如果無法建立及初始化一或多個主要工作站,叢集建立作業就會失敗。建立的工作會持續執行並產生費用,直到使用者刪除為止。 如果可以建立指定的工作站數量下限,系統就會建立叢集。系統會刪除失敗 (未初始化) 的工作站,且不會產生費用。如果無法建立及初始化指定的工作站數量下限,系統就不會建立叢集。系統不會刪除建立的工作人員,方便您進行偵錯。
縮短叢集建立時間。 由於所有節點都必須回報佈建狀態,因此叢集建立時間可能會較長。
您可以建立單一節點叢集 無法建立單一節點叢集

自動調度資源

使用自動調度資源搭配部分叢集建立作業,確保建立目標 (完整) 數量的主要工作站。如果工作負載需要,自動調度資源功能會在背景嘗試取得失敗的工作站。

以下是自動調度資源政策範例,會重試,直到主要工作站執行個體總數達到 10 個的目標大小為止。政策的 minInstancesmaxInstances 會與叢集建立時指定的主要工作站數量下限和總數相符 (請參閱「建立部分叢集」)。將 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