在免费试用帐户中试用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在4条中的3条上显示当前使用情况为6、75%,表示配额为8。
答案 0 :(得分:3)
Dataproc工作机实际上是Compute Engine VM,因此CPU配额适用于Compute Engine API。
CPU配额与Airflow / Google Cloud Composer无关,因此无法从那里进行配置。 DataprocClusterCreateOperator
只需调用Dataproc API,依次启动Compute Engine上的VM。
对于免费试用帐户,如您所见,CPU配额似乎为8。根据您在注释部分提供的详细信息,您的Composer环境使用了8个CPU(3 * n1-standard-2
中的6个。请注意,您可以将较小的计算机用于Composer(1个CPU),但始终至少需要3个节点。因此,最小的Composer环境将使用1 * 3 = 3
个CPU。如果需要,您可以在此处保存3个CPU,但是气流稳定性可能会受到影响。
您还可以为您的Dataproc工作程序(或更少的Dataproc工作程序)请求更小的VM(具有更少的CPU)。同样,我不建议这样做,因为对于Dataproc工作者,n1-standard-1
(或更少)太小了。
请注意,使用非免费试用帐户,您可以request higher quotas。但是,我认为这是不可能的。