MongoDB 到 BigQuery Dataflow 作业失败

问题描述 投票:0回答:1

当我运行数据流作业时,读取文档部分并开始记录超时错误需要花费大量时间。我遇到了 4 个超时错误,最后我收到了一条很长的错误消息,这部分引起了我的注意:

“如果日志仅包含与访问外部资源(例如 MongoDB)相关的一般超时错误,请验证工作线程服务帐户是否有权访问资源的子网”

这是使用具有编辑者角色的默认服务帐户运行的。那么,还需要什么其他角色呢?我对数据流还很陌生。请帮忙。

google-cloud-platform google-bigquery google-cloud-dataflow
1个回答
0
投票

特定错误在文档中进行了解释,Dataflow 批处理运行程序会重试所有工作项。如果同一个工作项失败四次,管道就会失败。

当 Dataflow 工作项无法向 Dataflow 服务发送进度更新超过两分钟时,它们可能会过期。这可能是由于多种原因造成的。例如,

  • 数据流工作线程内存不足,进度报告机制无法正常运行。

  • 工作线程内存或交换空间不足。

要解决此问题,您可以尝试通过将机器类型切换为 --worker_machine_type='m1-ultramem-40' --disk_size_gb=5 来增加工作线程的内存和磁盘空间,或者您还可以使用具有更多内存的工作进程(例如,n1-highmem-2)。

请注意,增加内存和磁盘空间可能会影响计费成本。 Dataflow Python 为每个 VM 核心启动一个工作进程,因此可用内存量将分配给多个工作进程(例如,n1-highmem-2 每个工作进程约 6GB)。

© www.soinside.com 2019 - 2024. All rights reserved.