在運行任何應用程序邏輯之前,我有一個在啓動階段卡住的Cloud Dataflow作業。我通過在processElement
步驟內部添加了一條日誌輸出語句來測試此操作,但它沒有出現在日誌中,因此看起來沒有達到。雲數據流作業在啓動前陷入無盡循環
我可以在日誌中看到的是下面的消息,這裏面似乎每一分鐘:
logger: Starting supervisor: /etc/supervisor/supervisord_watcher.sh: line 36: /proc//oom_score_adj: Permission denied
而且這些每隔幾秒鐘,其循環:
VM is healthy? true.
http: TLS handshake error from 172.17.0.1:38335: EOF
Job is in state JOB_STATE_RUNNING, will check again in 30 seconds.
工作ID是2015-09-14_06_30_22-15275884222662398973
,雖然我有兩個額外的工作(2015-09-14_05_59_30-11021392791304643671
,2015-09-14_06_08_41-3621035073455045662
),我開始上午,並有同樣的問題。
關於可能會導致此問題的任何想法?
預期所有工作人員日誌消息並與正常操作一致。所以他們沒有解釋你的工作爲什麼停滯不前。 –
謝謝傑里米。我懷疑問題在於構建工作本身,它通過一堆數據循環並調用ProcessContext.output()。可能不是編寫它的理想方式。 –
你可以詳細說明你的意思嗎?「通過一堆數據循環並調用output()'?如果數據從輸入到DoFn中,這應該不是問題(因爲它發生在工作人員,在工作完成後);或者數據來自DoFn中的某個字段或以某種方式被序列化到工作人員那裏? –