为了减轻特定区域中用户指定的虚拟机不可用的影响
特定时间
(缺货)、
Dataproc 允许您请求创建 partial cluster
,方法是指定
允许创建集群的最小数量的主要工作器。
标准集群 | 部分集群 |
---|---|
如果无法创建和初始化一个或多个主要工作器, 集群创建失败。创建的 Worker 会继续运行并产生费用,直到被用户删除为止。 | 如果可以创建指定最小数量的工作器, 即会创建集群失败(未初始化)的工作器会被删除,并且不会产生费用。如果指定的工作器数量下限无法 创建并初始化后,不会创建集群。 以便进行调试。 |
集群创建时间已优化。 | 由于所有节点都必须报告预配,因此集群创建时间可能会更长 状态。 |
单节点集群 可供创建。 | 单节点集群 无法创建。 |
自动扩缩:
将自动扩缩功能与部分集群创建结合使用,有助于确保创建目标(完整)数量的主要工作器。如果工作负载需要,自动扩缩功能会尝试在后台获取失败的工作器。
以下是一个自动扩缩政策示例,它会不断重试,直至达到
的主要工作器实例的目标大小达到 10。
该政策的 minInstances
和 maxInstances
与集群创建时指定的主要工作器数量下限和总数一致(请参阅如何创建部分集群)。将 scaleDownFactor
设置为 0 可防止集群从 10 个工作器缩减为 8 个工作器,并有助于将工作器数量保持在 10 个工作器的上限。
workerConfig:
minInstances: 8
maxInstances: 10
basicAlgorithm:
cooldownPeriod: 2m
yarnConfig:
scaleUpFactor: 1
scaleDownFactor: 0
gracefulDecommissionTimeout: 1h
如何创建部分集群
您可以使用 Google Cloud CLI 或 Dataproc API 创建 Dataproc 部分集群。
gcloud
如需在命令行上创建 Dataproc 部分集群,请在终端窗口或 Cloud Shell 中本地运行以下 gcloud dataproc clusters create
命令。
gcloud dataproc clusters create CLUSTER_NAME \ --project=PROJECT \ --region=REGION \ --num-workers=NUM_WORKERS \ --min-num-workers=MIN_NUM_WORKERS \ other args ...
- CLUSTER_NAME:集群名称必须以小写字母开头 后面最多可跟 51 个小写字母、数字和连字符,但不能以连字符结尾。
- PROJECT:指定与作业集群关联的项目。
- REGION:指定作业集群所在的 Compute Engine 区域。
- NUM_WORKERS:集群中主要工作器的总数, create(如果有)。
- MIN_NUM_WORKERS:要创建的主要工作器数量下限
如果无法创建指定的工作器总数 (
NUM_WORKERS
)。 如果不能创建此最低数量的主要工作器,集群创建将失败 (系统不会删除所创建的 worker 以便进行调试)。 如果省略此标志,系统会尝试使用主工作器总数 (NUM_WORKERS
) 创建标准集群。
REST
要创建 Dataproc 部分集群,请指定
workerConfig.minNumInstances
字段作为 clusters.create 请求的一部分。
显示已预配工作器的数量
创建集群后,您可以运行以下 gcloud CLI 命令列出工作器数量,包括所有辅助工作器, 预配的基础设施
gcloud dataproc clusters list \ --project=PROJECT \ --region=REGION \ --filter=clusterName=CLUSTER_NAME