Long-运行 数据流作业失败,用户代码没有错误
Long-running Dataflow job fails with no errors in user code
在 运行 17 小时后,我的 Dataflow 作业失败并显示以下消息:
The job failed because a work item has failed 4 times. Look in previous log entries for the cause of each one of the 4 failures.
4 次故障包括 3 名工人与服务失去联系,一名工人报告死亡:
****-q15f Root cause: The worker lost contact with the service.
****-pq33 Root cause: The worker lost contact with the service.
****-fzdp Root cause: The worker ****-fzdp has been reported dead. Aborting lease 4624388267005979538.
****-nd4r Root cause: The worker lost contact with the service.
我在 Stackdriver 中作业的工作日志中没有看到任何错误。这只是运气不好吗?我不知道工作项需要重试的频率,所以我不知道在 24 小时的工作过程中单个工作项失败 4 次的概率是多少。但是对于这个 long-运行 的作业,这种相同类型的作业失败经常发生,所以我们似乎需要一些方法来降低工作项的失败率,或者增加允许的重试次数。有可能吗?这似乎与我的管道代码无关,但如果相关,我将 Python SDK 与 apache-beam==2.15.0
一起使用。我将不胜感激关于如何调试它的任何建议。
更新:控制台中的 "STACK TRACES" 部分完全是空的。
我遇到了同样的问题,通过扩展我的工人资源解决了这个问题。具体来说,我在管道配置中设置了 --machine_type=n1-highcpu-96
。有关机器类型选项的更广泛列表,请参阅 this。
编辑:根据管道过程的要求将其设置为 highcpu
或 highmem
在 运行 17 小时后,我的 Dataflow 作业失败并显示以下消息:
The job failed because a work item has failed 4 times. Look in previous log entries for the cause of each one of the 4 failures.
4 次故障包括 3 名工人与服务失去联系,一名工人报告死亡:
****-q15f Root cause: The worker lost contact with the service.
****-pq33 Root cause: The worker lost contact with the service.
****-fzdp Root cause: The worker ****-fzdp has been reported dead. Aborting lease 4624388267005979538.
****-nd4r Root cause: The worker lost contact with the service.
我在 Stackdriver 中作业的工作日志中没有看到任何错误。这只是运气不好吗?我不知道工作项需要重试的频率,所以我不知道在 24 小时的工作过程中单个工作项失败 4 次的概率是多少。但是对于这个 long-运行 的作业,这种相同类型的作业失败经常发生,所以我们似乎需要一些方法来降低工作项的失败率,或者增加允许的重试次数。有可能吗?这似乎与我的管道代码无关,但如果相关,我将 Python SDK 与 apache-beam==2.15.0
一起使用。我将不胜感激关于如何调试它的任何建议。
更新:控制台中的 "STACK TRACES" 部分完全是空的。
我遇到了同样的问题,通过扩展我的工人资源解决了这个问题。具体来说,我在管道配置中设置了 --machine_type=n1-highcpu-96
。有关机器类型选项的更广泛列表,请参阅 this。
编辑:根据管道过程的要求将其设置为 highcpu
或 highmem