建立 Managed Service for Apache Spark 叢集時,請指定 Compute Engine 區域做為叢集位置。您也可以指定該區域內的可用區,或者略過可用區,讓 Managed Service for Apache Spark 自動選擇可用區功能在指定區域中為您選取可用區。叢集的所有節點都會部署至所選可用區。
如果叢集區域包含至少兩個未排除的可用區,您可以從自動選擇可用區的選取條件中排除可用區。詳情請參閱「使用自動選擇可用區放置」。
自動選擇可用區及預留資源
自動選擇可用區功能會優先在有預留資源的可用區建立叢集,規則如下:
如果可用區的預留和隨需資源 (如有必要) 加總後,可以滿足叢集的資源要求,自動選擇可用區功能就會使用這些資源,在該可用區建立叢集。
自動選擇可用區功能會依據可用區的預留 CPU 核心 (
vCPU) 總數,優先選取可用區。範例:叢集建立要求指定 20 個
n2-standard-2和 1 個n2-standard-64(共要求 40 + 64 個vCPUs)。自動選擇可用區功能會依據可用區能使用的預留 vCPU 總數,優先選取下列可用區:zone-c可用的預留項目:3 個n2-standard-2和 1 個n2-standard-64(70 個vCPUs)zone-b可用的預留項目:1 個n2-standard-64(64 個vCPUs)zone-a可用的預留項目:25 個n2-standard-2(50 個vCPUs)假設這些可用區都有額外隨需
vCPU和其他資源,可以滿足叢集要求,自動選擇可用區功能會選取zone-c來建立叢集。
如果可用區的預留和隨需資源加總後,仍無法完全滿足資源要求,自動選擇可用區功能就會選取使用隨選資源後,最有機會滿足要求的可用區來建立叢集。
使用自動選擇可用區位置功能
Google Cloud 控制台
如要建立能自動選擇可用區位置的叢集,請按照下列步驟操作:
排除區域:透過 Google Cloud 控制台指定要從自動選擇可用區位置排除的區域,目前不支援這項功能。這項功能可透過 Google Cloud CLI 和 REST API 使用。
gcloud CLI
如要建立可以自動選擇可用區位置的 Managed Service for Apache Spark 叢集,請執行 gcloud dataproc clusters create 指令。將 --region 旗標設為特定區域,然後省略 --zone 旗標,或將 --zone 旗標設為空字串 (--zone="")。
--auto-zone-exclude-zones 標記指定以半形逗號分隔的可用區清單。自動選擇可用區功能會從指定區域選取可用區,但會從選取條件中排除列出的可用區。請注意,叢集區域中必須至少有兩個未排除的可用區。
範例:
基本自動區域用法:
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ other args ...
自動選擇可用區 (已排除可用區):
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --auto-zone-exclude-zones=ZONE_1,ZONE_2 \ other args ...
REST API
如要建立可以自動選擇可用區位置的 Managed Service for Apache Spark 叢集,請建構 JSON clusters.create API 要求,並將 gceClusterConfig.zoneUri 欄位留空。將區域名稱插入 REST 端點 https://dataproc.googleapis.com/v1/projects/projectId/regions/region/clusters。Managed Service for Apache Spark 自動選擇可用區功能會在指定區域為叢集選擇一個可用區。
如要排除特定區域,可以填入 gceClusterConfig.autoZoneExcludeZoneUris 欄位,並列出要排除的區域名稱。請注意,叢集區域中必須至少有兩個未排除的可用區。
使用自動選擇可用區位置功能時,請使用簡短資源名稱:在自動選擇可用區位置功能的 REST API 叢集建立要求中,指定資源 URI (如 machineTypeUri 或 acceleratorTypeUri) 時,請使用簡短資源名稱,且不要指定可用區,例如「n1-standard-2」或「nvidia-tesla-t4」。