首页 > 解决方案 > 数据流作业因“无法启动足够的工人”而失败,配额正常,更改机器类型和区域不会改变任何内容

问题描述

我们开发了一个基于 Google Cloud Platform 的应用程序,它使用 Cloud Dataflow 将数据写入 BigQuery。我现在正尝试在另一个组织的新 GCP 项目上设置此应用程序。

问题

我遇到了这个问题

工作流失败。原因:无法调出足够的worker:最少1个,实际0个。请检查您的配额并稍后重试,或者请在不同的区域/区域尝试。

它发生在两个数据流模板上:1. 一个从 Pub/Sub 主题获取数据并写入 Pub/Sub 主题,2. 另一个从 Pub/Sub 主题获取数据并写入 BigQuery。

作业是从 Cloud Dataflow API 创建的。模板非常标准,最多有 3 个工作人员和THROUGHPUT_BASED自动缩放模式。

正如在类似问题上所建议的那样,我检查了远远没有超过的计算引擎配额。我还更改了地区和机器类型;问题仍然存在。Compute Engine 和 Dataflow API 已启用。

问题

由于它适用于另一个组织的项目,我相信它来自具有特定限制的 GCP 组织。是否可以?我还应该检查哪些其他点才能使其正常工作?

标签: google-cloud-platformgoogle-cloud-dataflowapache-beam

解决方案


经过多次测试,我们设法使其正常工作。

区域和机器类型确实不是问题,尽管大多数相关的 Stackoverflow 线程都建议您应该从那开始。

这实际上是因为GCP 组织策略对外部 IP 地址的限制。正如这个问题所指出的,Dataflow 的标准配置需要一个外部 IP 地址。


推荐阅读