首页 > 解决方案 > 无法让 Cloud Data Fusion 运行停止

问题描述

我有几个 Fusion 管道,它们都执行相同的基本任务:将数据插入 Bigquery 中的表中,将其加载到 S3 中,然后截断 Bigquery 表。在我得到“管道 xxx 成功”日志之前,一切看起来都很好,但随后它进入了一个非常长的循环:

无法获取程序 program_run:default.xxx.-SNAPSHOT.workflow.DataPipelineWorkflow.yyy 的监控消息

最后只是陷入以下错误:

未能监控远程进程并已用尽重试。终止程序 program_run

我尝试使用停止按钮中止整个运行,停止DataPipelineWorkflow但注意到似乎发生了变化。

我怎样才能停止这样的运行,甚至避免该Failed to fetch monitoring messages阶段?

标签: google-cloud-data-fusion

解决方案


由于没有太多要调试的日志,因此此问题可能与在某些情况下失败的沿袭计算错误有关。

有一个错误 ( https://issues.cask.co/browse/CDAP-16356 ) 会导致某些管道的沿袭计算失控。这通常表现为一个永远处于运行状态的管道,而不是一个失败的管道。这是您看到的行为,还是实际上正在死亡并进入失败状态?

如果它快死了,可能是内存不足,在这种情况下,您可以尝试增加驱动程序内存。您可以从管道详细信息页面 -> 配置 -> 资源 -> 驱动程序内存执行此操作。

如果卡住了,您将不得不手动删除 dataproc 集群。您可以在日志的开头看到集群的名称。不幸的是,在即将发布的 6.1.2 版本之前,您无法让 lineage 运行得更快。唯一的事情是重组管道以尝试减少沿袭计算。我们已经看到 Wrangler 节点和 Spark 节点往往会加剧这些问题,因此重组通常涉及在可能的情况下组合这些类型的节点。


推荐阅读