google-cloud-data-fusion - 无法让 Cloud Data Fusion 运行停止
问题描述
我有几个 Fusion 管道,它们都执行相同的基本任务:将数据插入 Bigquery 中的表中,将其加载到 S3 中,然后截断 Bigquery 表。在我得到“管道 xxx 成功”日志之前,一切看起来都很好,但随后它进入了一个非常长的循环:
无法获取程序 program_run:default.xxx.-SNAPSHOT.workflow.DataPipelineWorkflow.yyy 的监控消息
最后只是陷入以下错误:
未能监控远程进程并已用尽重试。终止程序 program_run
我尝试使用停止按钮中止整个运行,停止DataPipelineWorkflow
但注意到似乎发生了变化。
我怎样才能停止这样的运行,甚至避免该Failed to fetch monitoring messages
阶段?
解决方案
由于没有太多要调试的日志,因此此问题可能与在某些情况下失败的沿袭计算错误有关。
有一个错误 ( https://issues.cask.co/browse/CDAP-16356 ) 会导致某些管道的沿袭计算失控。这通常表现为一个永远处于运行状态的管道,而不是一个失败的管道。这是您看到的行为,还是实际上正在死亡并进入失败状态?
如果它快死了,可能是内存不足,在这种情况下,您可以尝试增加驱动程序内存。您可以从管道详细信息页面 -> 配置 -> 资源 -> 驱动程序内存执行此操作。
如果卡住了,您将不得不手动删除 dataproc 集群。您可以在日志的开头看到集群的名称。不幸的是,在即将发布的 6.1.2 版本之前,您无法让 lineage 运行得更快。唯一的事情是重组管道以尝试减少沿袭计算。我们已经看到 Wrangler 节点和 Spark 节点往往会加剧这些问题,因此重组通常涉及在可能的情况下组合这些类型的节点。
推荐阅读
- reporting-services - SSRS 列组在唯一行上显示数据
- xcode - Xcode 9.4.1 和基础框架
- c - 计算链表中字符串出现的次数
- compilation - (PE <> winnt.h ) 和 (ELF <> elf32.h) 之间的关系
- java - 阿帕奇点燃。QueryCursor 在没有事务模式的情况下工作,如果直接声明,即使事务也是如此。为什么?
- html - 当我不知道图像的纵横比时,如何避免 Angular 中的图像重排?
- google-cloud-platform - 如何停止正在运行的 GCP 云任务?
- razor - 具有空值的 IQueryable
- javascript - JavaScript 检查随机数是否尚未使用
- cassandra - 批量DELETE和INSERT修改Cassandra主键的副作用