我正在使用Airflow v1.8.1並在kubernetes上運行所有組件(worker,web,flower,scheduler)& Docker。 我用芹菜執行人與Redis的,我的任務是看起來像:氣流任務陷入「排隊」狀態,永遠不會運行
(start) -> (do_work_for_product1)
├ -> (do_work_for_product2)
├ -> (do_work_for_product3)
├ …
所以start
任務有多個下行流。 我設置併發相關的配置如下:
parallelism = 3
dag_concurrency = 3
max_active_runs = 1
後來,當我手動運行該DAG(不知道它永遠不會在計劃任務發生),一些下行流得到執行,但其他人停留在「排隊」狀態。
如果我從Admin UI清除任務,它將被執行。 沒有工人日誌(在處理了一些第一個下游後,它只是不輸出任何日誌)。
Web服務器的日誌(不知道worker exiting
有關)
/usr/local/lib/python2.7/dist-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
.format(x=modname), ExtDeprecationWarning
[2017-08-24 04:20:56,496] [51] {models.py:168} INFO - Filling up the DagBag from /usr/local/airflow_dags
[2017-08-24 04:20:57 +0000] [27] [INFO] Handling signal: ttou
[2017-08-24 04:20:57 +0000] [37] [INFO] Worker exiting (pid: 37)
上有沒有調度錯誤日誌,太。每當我嘗試這些時,一些任務會停滯不前。
因爲我也使用Docker我想知道這是否相關: https://github.com/puckel/docker-airflow/issues/94 但到目前爲止,沒有線索。
有沒有人遇到類似的問題或有一些想法我可以調查這個問題......?
嗨@Norio,我們遇到類似的問題,即'隊列中的任務,但調度程序似乎忘記了其中的一些。當我再次使用'氣流調度程序'時,它們已被拾取。我也使用1.8.1,kubernetes和Docker,但是與LocalExecutor一樣,這裏也是同樣的問題。 – Chengzhi
@程智感謝您的信息。我利用這個shell https://github.com/apache/incubator-airflow/blob/ff45d8f2218a8da9328161aa66d004c3db3b367e/airflow/bin/airflow_scheduler_autorestart。sh自動重新啓動調度程序而不依賴於k8s的退出,所以在我的情況下,調度程序應該定期重新生成,但不會永遠選擇一些任務......非常奇怪。 –
超級,感謝分享,非常有線,如果我發現了某些東西,我會保持循環,但看起來這是現在的解決方案。 – Chengzhi