我正在使用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