【发布时间】:2019-05-25 04:41:47
【问题描述】:
在免费试用帐户中试用Google Cloud Composer Quickstart,示例工作流 DAG 的第一个任务运行此运算符:
create_dataproc_cluster = dataproc_operator.DataprocClusterCreateOperator(
task_id='create_dataproc_cluster',
cluster_name='quickstart-cluster-{{ ds_nodash }}',
num_workers=2,
zone=models.Variable.get('gce_zone'),
master_machine_type='n1-standard-1',
worker_machine_type='n1-standard-1')
失败并显示此错误消息:
- Insufficient 'CPUS' quota. Requested 6.0, available 2.0
- This request exceeds CPU quota. Some things to try: request fewer workers (a minimum of 2 is required), use smaller master and/or worker machine types (such as n1-standard-2).
2 已经是工作节点的最小数量,n1-standard-1 已经是最小的机器类型。
问。有没有办法让DataprocClusterCreateOperator() 分配更高的“CPUS”配额?
Airflow website 和 Cloud Dataproc Quotas doc 未发布。
问。这是免费试用帐户的硬性限制吗?
IAM Quotas console page 将 Current Usage 显示为 6, 75%,在 3 of 4 条中,暗示配额为 8。
【问题讨论】:
-
Dataproc 启动 Compute Engine 虚拟机,因此 CPU 配额适用于 Compute Engine。配额与 Airflow 无关,
DataprocClusterCreateOperator只是使用 Dataproc API 来启动 VM。但是,您可以为您的工作人员请求更小的虚拟机(CPU 更少)(不过我不建议这样做,n1-standard-1对于 Dataproc 工作人员来说已经很小了)。无论如何,您是否启动了一些 Compute Engine 虚拟机?看起来您的案例已经使用了 6 个 CPU。 -
@norbjd 这是一个关键的见解!事实证明,这 6 个 CPU 是为运行 Cloud Composer 环境而创建的 3 个
n1-standard-2GKE 节点。因此,如果我选择n1-standard-1作为环境节点机器类型,则快速入门示例总共需要 6 个 CPU,这应该符合未记录的配额。 [请写一个答案,我会接受它。] 我在一个具有完整计费的现有项目中重试了快速入门(尽管有他们的建议)并且 Dataproc 任务成功运行......但没有向输出存储桶写入任何内容。 :-( 我不需要 Dataproc,所以我不打算调试它。
标签: google-cloud-dataproc quota google-cloud-composer