本文档介绍如何创建 Managed Service for Apache Spark 零规模集群。
Managed Service for Apache Spark 零规模集群提供了一种经济实惠的方式来使用 Managed Service for Apache Spark 集群。与 至少需要两个主要工作器的标准 Managed Service for Apache Spark 集群 不同,Managed Service for Apache Spark 零规模集群 仅使用辅助工作器 ,这些工作器可以缩减至零。
Managed Service for Apache Spark 零规模集群非常适合用作长时间运行且会经历空闲期的集群,例如托管 Jupiter 笔记本的集群。 它们通过使用零规模自动扩缩政策来提高资源利用率。
特征和限制
Managed Service for Apache Spark 零规模集群与标准集群有相似之处,但具有以下独特特征和限制:
- 需要映像版本
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。 - 仅为辅助工作器配置设置自动扩缩政策。
如需了解详情,请参阅 创建自动扩缩政策。
创建 Managed Service for Apache Spark 零规模集群
使用 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:Managed Service for Apache Spark 零规模集群的名称。
- REGION:可用的 Compute Engine 区域。
- AUTOSCALING_POLICY:自动扩缩政策的 ID 或资源 URI。
- BUCKET_NAME:Cloud Storage 存储桶的名称。
- MACHINE_TYPE:特定的 Compute Engine
机器类型,例如
n1-standard-4、e2-standard-8。 - RANK:定义机器 类型列表的优先级。
REST
使用 Managed Service for Apache Spark REST API cluster.create 请求创建零规模集群:
- 将
secondaryWorkerConfig的ClusterConfig.ClusterType设置为ZERO_SCALE。 - 使用
ZERO_SCALE自动扩缩政策 ID 设置AutoscalingConfig.policyUri。 - 添加
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property。将 BUCKET_NAME 替换为 Cloud Storage 存储桶的名称: