我的数据流批处理作业没有在5小时后结束。仍在取消。
我每10分钟在调度程序中运行一次此类作业。
通常在10分钟内完成。
但是花了5个小时以上!
我的工作是
2018-08-26_13_30_17-11724702784238200200
错误日志在这里
Stackdriver
2018-08-27 (06:33:14) Workflow failed. Causes: The Dataflow job appears to be stuck because no worker activity has been se...
2018-08-27 (08:34:08) Workflow failed. Causes: The Dataflow job appears to be stuck because no worker activity has been se...
2018-08-27 (10:34:58) Workflow failed. Causes: The Dataflow job appears to be stuck because no worker activity has been se...
Workflow failed. Causes: The Dataflow job appears to be stuck because no worker activity has been seen in the last 1h. You can get help with Cloud Dataflow at https://cloud.google.com/dataflow/support.
答案 0 :(得分:1)
通常The Dataflow job appears to be stuck because no worker activity has been seen in the last 1h
可能是由于设置进度太长所致。只需增加工作人员资源(通过--machine_type
参数即可解决该问题。
在我的情况下,我正在安装几个需要构建轮子的依赖项(pystan
,fbprophet
),而在具有1个vCPU和3.75的最小计算机(n1-standard-1
)上花费了一个多小时GB RAM)。使用功能更强大的实例(资源多4倍的n1-standard-4
)解决了我的问题。
单个作业可能不会卡住,但可能会帮助其他人遇到相同的错误。
答案 1 :(得分:1)
在三种主要情况下可能会发生这种情况: a)某些任务需要一个多小时才能完成。 b)一些任务卡住了。
这通常是由于处理时间太长或进入阻塞状态所致。
调试的最佳方法是检查以前的日志,看看是否有任何错误或意外状态。您似乎已尝试重新运行该作业,但仍然失败。在这种情况下,您可以向被卡住的步骤添加额外的日志,并查看被卡住的数据。
c)Apache Beam /数据流端发生故障。 这是一种罕见的情况。如果您认为这是问题所在,请创建支持记录。
答案 2 :(得分:1)
我刚刚从这个问题中恢复过来。
如其他回复中所述,此错误是由于设置进度过长所致。这可能是 pip 无法解析 @echo off
setlocal EnableDelayedExpansion
for %%a in (folder\*) do (
echo Processing file = %%~nxa
echo Processing file extension %%~xa
echo Processing file name = %%~na
SET file_extension = %%~xa
echo !file_extension!
echo %%~xa
)
pause
文件中的依赖项。它不会失败;它“永远”试图找到合适的版本,但徒劳无功,导致超时。
setup.py
中明确定义这些版本。答案 3 :(得分:0)
我不知道为什么这行得通,但是更新setup.py
中的程序包依赖关系使工作得以运行。
dependencies = [
'apache-beam[gcp] == 2.25.0',
'google-cloud-storage == 1.32.0',
'mysql-connector-python == 8.0.22',
]```