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 集群时,集群使用的节点池不会被删除。如需删除 GKE 集群上 Dataproc 不再使用的节点池,请参阅删除节点池。
节点池位置
在创建或更新虚拟集群时,您可以指定与 Dataproc on GKE 虚拟集群关联的节点池的区域位置。节点池可用区必须位于关联的虚拟集群所在的区域。
角色与节点池的映射
节点池角色是为 Spark 驱动程序和执行器工作定义的,节点池为所有类型的工作定义了默认角色。GKE 上的 Dataproc 集群必须至少有一个分配了 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"