在创建或更新 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
*
注意:
gpuPartitionSize
可以在 Dataproc APIGkeNodePoolAcceleratorConfig
中设置。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"