在我第一次涉足气流时,我正在尝试运行安装附带的示例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
Run Code Online (Sandbox Code Playgroud)
dag状态长时间保持"运行"状态(现在至少20分钟),但是通过快速检查这项任务,它应该需要几秒钟.我该如何解决这个问题?我怎样才能看到它被贴在哪一步?
小智 27
要运行任何DAG,您需要确保两个进程正在运行:
airflow webserver
airflow scheduler
如果你只有airflow webserver
运行时,用户界面将显示的DAG的running
,但如果你点击DAG,没有它的任务实际上是running
或scheduled
,而是一个Null
状态.这意味着他们正在等待接受airflow scheduler
.如果airflow scheduler
没有运行,你将永远陷入这种状态,因为任务永远不会被执行.
此外,请确保DAG视图中的切换按钮切换为特定DAG的"ON".否则,如果您手动触发它,调度程序将无法获取它.
小智 8
我最近也开始使用Airflow,我的dags一直在无休止地运行.您的dag可能会在没有意识到的情况下设置为"暂停",因此调度程序不会安排新的任务实例,当您触发dag时,它看起来就像是无休止地运行.
有几个解决方案:
1)在Airflow UI中,将dag左侧的按钮从"Off"切换为"On".关闭意味着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
归档时间: |
|
查看次数: |
9867 次 |
最近记录: |