诊断失败的Cloud Dataflow管道

Zac*_*man 5 google-cloud-dataflow

在大约14个工作小时后,我有一个Cloud Dataflow管道失败,并显示以下隐藏日志消息:

2016年3月29日,下午8:18:16(3253bcfbb8c9c2a7):工作流程失败.原因:(2bfe8449fe3ba464):S745(STAGE REDACTED)原因:(1a6d5387c382ba3a):尝试了4次工作项而没有成功.每次工人最终都失去与服务的联系.尝试了以下工作项目:(工人删除)

我迅速看了一眼工人的日志,并不是很明显发生了什么.是否应该对那些原因代码有所帮助?

故障排除指南并没有特别阐明这里,无论是.我最好的猜测是它属于"随机播放"类别(作业非常密集),但日志中没有列出的错误.

谢谢!

jkf*_*kff 4

我通过错误 ID 查找了您的工作,似乎工作项由于内存不足错误而反复失败(Java 进程被 OOM 杀手杀死,不幸的是没有机会编写堆转储 - 搜索“oom” -killer”在云日志中查找相关条目)。

不幸的是,我对这些信息的建议是,考虑使用更大的实例类型或优化转换的内存使用(例如,确保它们不会在内存中缓冲大量数据)。

  • 我现在能想到的是,ssh 到虚拟机并执行“jmap”来获取堆转储(可能您需要首先进入 docker 容器 - 使用“docker ps”找到它并“docker Attach” ”以在其中运行 shell),然后将其复制到 GCS 上的某个位置并在您的计算机上读回并使用内存分析器打开。 (2认同)