2017-09-29 133 views
0

我正在使用Google Dataflow Service爲ETL運行一些apache-beam腳本。工作流失敗。原因:(35af2d4d3e5569e4):數據流似乎卡住

最初完成需要4-5分鐘才能完成的作業,但是現在一小時後它們會失敗並出現以下錯誤。

工作流失敗。原因:(35af2d4d3e5569e4):Dataflow似乎卡住了。

看來,這項工作並沒有真正開始。

我正在通過使用Python SDK 2.1.0執行它作爲this問題的答案切換SDK的問題,我嘗試使用python SDK 2.0.0執行它,但沒有運氣。

作業ID:2017-09-28_04_28_31-11363700448712622518

更新:

@BenChambers建議清理日誌後,看來喬布斯並沒有因爲失敗的啓動起始

工人的日誌顯示出以下日誌4次

Running setup.py install for dataflow-worker: finished with status 'done' 
Successfully installed dataflow-worker-2.1.0 
Executing: /usr/local/bin/pip install /var/opt/google/dataflow/workflow.tar.gz 
Processing /var/opt/google/dataflow/workflow.tar.gz 
Complete output from command python setup.py egg_info: 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
IOError: [Errno 2] No such file or directory: '/tmp/pip-YAAeGg-build/setup.py' 

---------------------------------------- 
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-YAAeGg-build/ 
/usr/local/bin/pip failed with exit status 1 
Dataflow base path override: https://dataflow.googleapis.com/ 
Failed to report setup error to service: could not lease work item to report failure (no work items returned) 
(如在數據流文檔所提到的,一個束宣佈它爲失敗嘗試過4次)

回答

0

將作業提交給數據流服務時,它會向工作人員安裝最新版本的apache-beam。目前,apache-beam的最新版本是2.1.0。無論是apache梁還是google雲python軟件包都必須使用名爲six的python包來實現其內部實現。

由於this答案建議,包six的最新版本,即1.11.0apache-beam 2.1.0工作。

我建議你提供一個數據流服務的安裝文件,它會提到six的版本應該是1.10,而不是1.11。你能做到這一點通過給install-requires參數來設置文件

install_requires=[ 
    'six==1.10.0',  
    ] 

你可以在this link

瞭解setuptools的你可以瞭解如何在提供安裝文件,數據流工作this link


更新

當你submi將您的工作轉換爲數據流,數據流服務將計算引擎作爲其員工加入,並安裝數據流運行所需的所有需求。當它安裝的所有python軟件包都在數據流服務的手中時,它會安裝任何默認配置。這可能會導致諸如您的問題。

解決方案是通過向管道的pipeline_options提供requirements_file參數來爲數據流作業提供需求文件。這將使數據流服務安裝在工人的需求文件中提到的python軟件包,並避免由於軟件包版本化而導致的問題。

你可以找到關於如何提供文件的要求,以數據流的管道上this link

0

管道卡住的常見原因是工人無法啓動。在UI中,您應該能夠點擊頂部附近的「日誌」,然後點擊「Stackdriver」鏈接。這應該將您帶到Stackdriver Logging頁面,該頁面被配置爲查看給定作業的日誌記錄worker。如果將其從worker更改爲worker-startup,它應該會顯示試圖啓動工作人員的日誌。如果啓動過程中出現問題,他們應該顯示在這裏。

+0

我已經更新檢查日誌後的問題,你可以建議如何繼續下去? – user3816204