【问题标题】:how to set CPUS quota for Google Cloud Dataproc via Cloud Composer?如何通过 Cloud Composer 为 Google Cloud Dataproc 设置 CPUS 配额?
【发布时间】: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 websiteCloud Dataproc Quotas doc 未发布。

问。这是免费试用帐户的硬性限制吗?
IAM Quotas console pageCurrent 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-2 GKE 节点。因此,如果我选择 n1-standard-1 作为环境节点机器类型,则快速入门示例总共需要 6 个 CPU,这应该符合未记录的配额。 [请写一个答案,我会接受它。] 我在一个具有完整计费的现有项目中重试了快速入门(尽管有他们的建议)并且 Dataproc 任务成功运行......但没有向输出存储桶写入任何内容。 :-( 我不需要 Dataproc,所以我不打算调试它。

标签: google-cloud-dataproc quota google-cloud-composer


【解决方案1】:

Dataproc 工作机器实际上是 Compute Engine 虚拟机,因此 CPU 配额适用于 Compute Engine API。

CPU 配额与 Airflow/Google Cloud Composer 无关,无法从那里进行配置。 DataprocClusterCreateOperator 只需调用 Dataproc API,后者依次在 Compute Engine 上启动虚拟机。

如您所见,对于免费试用帐户,CPU 配额似乎为 8。根据您在 cmets 部分提供的详细信息,您的 Composer 环境使用这 8 个 CPU 中的 6 个 (3 * n1-standard-2)。请注意,您可以为 Composer 使用较小的机器(1 个 CPU),但您总是至少需要 3 个节点。因此,最小的 Composer 环境将使用 1 * 3 = 3 CPU。如果需要,您可以在此处节省 3 个 CPU,但可能会影响 Airflow 稳定性。

您还可以为 Dataproc 工作器(或更少的 Dataproc 工作器)请求更小的虚拟机(CPU 更少)。不过,我还是不推荐它,因为 Dataproc 工作人员的 n1-standard-1(或更少)太小了。

另请注意,对于非免费试用帐户,您可以request higher quotas。但是,在免费试用帐户中,我认为这是不可能的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2019-11-06
    • 1970-01-01
    • 2021-04-21
    相关资源
    最近更新 更多