在我第一次涉足气流时,我正在尝试运行安装附带的示例DAGS之一。这是v.1.8.0。以下是我的步骤:
$ airflow trigger_dag example_bash_operator
[2017-04-19 15:32:38,391] {__init__.py:57} INFO - Using executor SequentialExecutor
[2017-04-19 15:32:38,676] {models.py:167} INFO - Filling up the DagBag from /Users/gbenison/software/kludge/airflow/dags
[2017-04-19 15:32:38,947] {cli.py:185} INFO - Created <DagRun example_bash_operator @ 2017-04-19 15:32:38: manual__2017-04-19T15:32:38, externally triggered: True>
$ airflow dag_state example_bash_operator '2017-04-19 15:32:38'
[2017-04-19 15:33:12,918] {__init__.py:57} INFO - Using executor SequentialExecutor
[2017-04-19 15:33:13,229] {models.py:167} INFO - Filling up the DagBag from /Users/gbenison/software/kludge/airflow/dags
running
dag状态长时间保持“运行”状态(至少现在至少20分钟),但是通过快速检查这项任务,它应该需要几秒钟。我该如何解决这个问题?我怎样才能看到它被贴在哪一步?
答案 0 :(得分:18)
要运行任何DAG,您需要确保正在运行两个进程:
airflow webserver
airflow scheduler
如果您只有airflow webserver
正在运行,则用户界面会将DAG显示为running
,但如果您点击DAG,则其任务实际上都不是running
或{{1}而是处于scheduled
状态。
这意味着他们等待Null
接听。如果airflow scheduler
未运行,您将永远陷入此状态,因为任务永远不会被执行。
此外,请确保DAG视图中的切换按钮切换为特定DAG的“ON”。否则,如果您手动触发它,调度程序将无法获取它。
答案 1 :(得分:6)
我最近也开始使用Airflow,我的笨蛋一直在无休止地运行。您的dag可能会设置为“暂停”&#39;没有你意识到它,因此调度程序将不会安排新的任务实例,当你触发dag时,它看起来就像无休止地运行。
有一些解决方案:
1)在Airflow UI中,切换dag左边的按钮,然后关闭&#39;关闭&#39;到&#39; On&#39;。关闭意味着dag暂停,因此On将允许调度程序拾取并完成dag。 (这解决了我的初始问题)
2)在你的airflow.cfg文件中,dags_are_paused_at_creation = True,是默认值。所以你创建的所有新dag都从一开始就暂停了。将此更改为False,您创建的未来dags将很快立即启动(我必须重新启动webserver和调度程序以更改airflow.cfg才能被识别)
3)使用命令行$ airflow unpause [dag_id] 文档:https://airflow.apache.org/cli.html#unpause
答案 2 :(得分:0)
以下内容对我有用。
我已经检查了上述有关气流1.9.0气流版本的信息
我在airflow 1.10版本中尝试了相同的技巧,并且有效。