本文档介绍了如何创建 Dataproc 零规模集群。
Dataproc 零规模集群提供了一种经济实惠的 Dataproc 集群使用方式。与至少需要两个主要工作器的标准 Dataproc 集群不同,Dataproc 零规模集群仅使用辅助工作器,这些工作器可以缩减至零。
Dataproc 零规模集群非常适合用作长时间运行且会经历空闲期的集群,例如托管 Jupiter 笔记本的集群。它们通过使用零规模自动扩缩政策来提高资源利用率。
特征和限制
Dataproc 零规模集群与标准集群有相似之处,但具有以下独特特征和限制:
- 需要使用映像版本 2.2.53或更高版本。
- 仅支持辅助工作器,不支持主要工作器。
- 包含 YARN 等服务,但不支持 HDFS 文件系统。 - 如需将 Cloud Storage 用作默认文件系统,请将 core:fs.defaultFS集群属性设置为 Cloud Storage 存储桶位置 (gs://BUCKET_NAME)。
- 如果您在创建集群期间停用了某个组件,也请停用 HDFS。
 
- 如需将 Cloud Storage 用作默认文件系统,请将 
- 无法转换为标准集群或从标准集群转换而来。 
- 对于 - ZERO_SCALE集群类型,需要自动扩缩政策。
- 需要选择灵活虚拟机作为机器类型。 
- 不支持 Oozie 组件。 
- 无法通过 Google Cloud 控制台创建。 
可选:配置自动扩缩政策
您可以配置自动扩缩政策,以定义零规模集群的辅助工作器扩缩。执行此操作时,请注意以下事项:
- 将集群类型设置为 ZERO_SCALE。
- 仅为辅助工作器配置设置自动扩缩政策。
如需了解详情,请参阅创建自动扩缩政策。
创建 Dataproc 零规模集群
使用 gcloud CLI 或 Dataproc API 创建零规模集群。
gcloud
在终端窗口或 Cloud Shell 中本地运行 gcloud dataproc clusters create 命令。
gcloud dataproc clusters create CLUSTER_NAME \
    --region=REGION \
    --cluster-type=zero-scale \
    --autoscaling-policy=AUTOSCALING_POLICY \
    --properties=core:fs.defaultFS=gs://BUCKET_NAME \
    --secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
    ...other args
替换以下内容:
- CLUSTER_NAME:Dataproc 零规模集群的名称。
- REGION:可用的 Compute Engine 区域。
- AUTOSCALING_POLICY:自动扩缩政策的 ID 或资源 URI。
- BUCKET_NAME:Cloud Storage 存储桶的名称。
- MACHINE_TYPE:特定的 Compute Engine 机器类型,例如 n1-standard-4、e2-standard-8。
- RANK:定义一系列机器类型的优先级。
REST
使用 Dataproc REST API cluster.create 请求创建零规模集群:
- 将 secondaryWorkerConfig的ClusterConfig.ClusterType设置为ZERO_SCALE。
- 将 AutoscalingConfig.policyUri设置为ZERO_SCALE自动扩缩政策 ID。
- 添加 core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property。将 BUCKET_NAME 替换为 Cloud Storage 存储桶的名称:
后续步骤
- 详细了解 Dataproc 自动扩缩。