【发布时间】:2021-02-08 19:10:39
【问题描述】:
我创建了一个数据流管道,它从存储桶中读取一个文件,并对数据进行简单的转换(例如:修剪空格)。
当我执行数据流作业时,作业启动并且日志显示工作人员在区域中启动,但之后没有任何反应。工作永远不会完成或失败。我不得不手动停止工作。
数据流作业已由具有 dataflow.worker 角色、dataflow.developer 角色和 dataflow.objectAdmin 角色的服务帐户执行。
请有人建议为什么数据流作业没有完成或为什么工作人员启动后作业没有执行。
2021-02-09 11:01:29.753 GMTWorker configuration: n1-standard-1 in europe-west2-b.
Warning
2021-02-09 11:01:30.015 GMTThe network sdas-global-dev doesn't have rules that open TCP ports 12345-12346 for internal connection with other VMs. Only rules with a target tag 'dataflow' or empty target tags set apply. If you don't specify such a rule, any pipeline with more than one worker that shuffles data will hang. Causes: No firewall rules associated with your network.
Info
2021-02-09 11:01:31.067 GMTExecuting operation Read files/Read+ManageData/ParDo(ManageData)
Info
2021-02-09 11:01:31.115 GMTStarting 1 workers in europe-west2-b...
Warning
2021-02-09 11:07:33.341 GMTThe network sdas-global-dev doesn't have rules that open TCP ports 12345-12346 for internal connection with other VMs. Only rules with a target tag 'dataflow' or empty target tags set apply. If you don't specify such a rule, any pipeline with more than one worker that shuffles data will hang. Causes: No firewall rules associated with your network.
【问题讨论】:
-
工人和诊断日志显示什么?在 Compute Engine 面板中,是否正在启动工作程序节点?对于每个实例,那里或 Stackdriver 中有什么有趣的东西吗?需要更多详细信息来帮助您。
-
@JohnHanley 没有日志进入工作日志或诊断日志。作业日志仅显示工人已启动。在右侧的 Job Info 面板中,资源指标将所有值显示为零;像当前 CPU 0、当前内存 0 B 等。我已经用作业日志详细信息更新了问题。谢谢。
-
当您转到 Compute Engine 时,它会为正在运行的虚拟机(不是数据流部分)“计算引擎”->“虚拟机实例”显示什么?这些 VM 实例的 Stackdriver 中还有什么?
-
@JohnHanley 我刚刚发布了解决方案。我在 VPC 位于不同区域的区域中运行该作业。因此,工人无法旋转起来。使区域与 VPC 相同,然后一切顺利。
标签: google-cloud-dataflow apache-beam dataflow