当您 create 或 更新 Dataproc on GKE 虚拟集群,则可以指定一个或多个节点池, 将用于运行作业的虚拟集群(此集群称为 集群“使用者”或“相关”具有指定节点池)。如果您的 GKE 集群上不存在指定的节点池,Dataproc on GKE 将使用您指定的设置在 GKE 集群上创建节点池。如果节点池存在且由 Dataproc 创建,系统会对其进行验证,以确认其设置与指定的设置一致。
Dataproc on GKE 节点池设置
您可以在 Dataproc on GKE 虚拟集群使用的节点池上指定以下设置(这些设置是 GKE 节点池设置的一部分):
accelerators
acceleratorCount
acceleratorType
gpuPartitionSize
*localSsdCount
machineType
minCpuPlatform
minNodeCount
maxNodeCount
preemptible
spot
*
注意:
- 您可以在 Dataproc API
GkeNodePoolAcceleratorConfig
中设置gpuPartitionSize
。 spot
可以在 Dataproc API 的 GkeNodeConfig 中设置。
删除节点池
删除 Dataproc on GKE 集群时,集群使用的节点池不会被删除。请参阅删除节点池 删除 Dataproc on GKE 集群不再使用的节点池。
节点池位置
您可以指定 可用区 与您的 Dataproc on GKE 虚拟集群关联的节点池的位置 会在创建或更新虚拟集群时启用。节点池可用区必须 位于关联虚拟集群所在区域中。
角色到节点池的映射
节点池角色
针对 Spark 驱动程序和执行器工作定义,并具有默认角色
所有类型的工作均定义有效Dataproc on GKE 集群必须拥有
至少有一个节点池分配了 default
角色。
分配其他角色是可选的。
建议:为每种角色类型分别创建节点池,并根据角色要求设置节点类型和大小。
gcloud CLI 虚拟集群创建示例:
gcloud dataproc clusters gke create "${DP_CLUSTER}" \ --region=${REGION} \ --gke-cluster=${GKE_CLUSTER} \ --spark-engine-version=latest \ --staging-bucket=${BUCKET} \ --pools="name=${DP_POOLNAME},roles=default \ --setup-workload-identity --pools="name=${DP_CTRL_POOLNAME},roles=default,machineType=e2-standard-4" \ --pools="name=${DP_DRIVER_POOLNAME},min=1,max=3,roles=spark-driver,machineType=n2-standard-4" \ --pools="name=${DP_EXEC_POOLNAME},min=1,max=10,roles=spark-executor,machineType=n2-standard-8"