本文档介绍如何创建 Dataproc 零规模集群。
Dataproc 零规模集群提供了一种经济实惠的 Dataproc 集群使用方式。与需要至少两个主要工作器的标准 Dataproc 集群不同,Dataproc 零规模集群仅使用辅助工作器,这些工作器可以缩减到零。
Dataproc 零规模集群非常适合用作长时间运行且会经历空闲期的集群,例如托管 Jupiter Notebook 的集群。它们通过使用零扩缩自动扩缩政策来提高资源利用率。
特征和限制
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_NAME
SoftwareConfig.property。 将 BUCKET_NAME 替换为您的 Cloud Storage 存储桶的名称。
后续步骤
- 详细了解 Dataproc 自动扩缩。