我正在使用Google Cloud Dataflow中的Apache Beam模型运行管道,但我无法从8名工作人员扩展它,即使最大工作人数为32。
当我尝试运行相同的管道时,将工人数设置为32,它会给我以下警告:
Autoscaling: Startup of the worker pool in zone us-central1-f reached 30 workers, but the goal was 32 workers. The service will retry. QUOTA_EXCEEDED: Quota 'DISKS_TOTAL_GB' exceeded. Limit: 4096.0
Autoscaling: Unable to reach resize target in zone us-central1-f. QUOTA_EXCEEDED: Quota 'DISKS_TOTAL_GB' exceeded. Limit: 4096.0
但仍未通过8名工人。管道不会使用超过8名工人的原因是否有任何特殊原因?
答案 0 :(得分:1)
问题是配额限制。 Google Dataflow使用Google Compute Engine的虚拟机及其配额。 8的具体限制是由使用外部IP地址配额限制引起的。当我尝试扩展到32时,其他配额也被违反,就像磁盘空间一样。因此,如果有人遇到同样的问题,我建议在管道运行时转到控制台上的IAM Admin > Quotas
,以检查管道可能违反哪些配额。
此外,如果使用已部署的模板运行或使用Eclipse插件在调试模式下运行,则日志会有所不同。后者将提供比第一个更多的细节。
答案 1 :(得分:0)
Dataflow将使用您可以获得的任意数量的工作人员。在您的情况下,它将达到30名工人并将使用它们。然而,它将不断重试达到32,因为配额可以由其他工作流程回馈。
答案 2 :(得分:0)
使用显示配额类型的过滤器菜单
您可以通过“当前使用情况”列的颜色告诉您API限制已达到限制。