Dataproc on GKE 节点池

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 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"