即使从配置中移除气流,Airflow也会继续显示示例dags

时间:2017-06-28 14:52:36

标签: airflow apache-airflow

即使我在配置文件中关闭load_examples = False,也会在UI中保留Airflow示例dags。

enter image description here

系统通知dag不存在于dag文件夹中,但它们仍保留在UI中,因为调度程序已将其标记为在元数据数据库中处于活动状态。

我知道从中删除它们的一种方法是直接删除数据库中的这些行,但当然这不太理想。我该如何继续从UI中删除这些dags?

4 个答案:

答案 0 :(得分:6)

除了手动删除数据库中的相应行之外,目前无法停止在UI上显示已删除的DAG。唯一的另一种方法是在initdb之后重新启动服务器。

答案 1 :(得分:2)

假设您已经通过Anaconda安装了气流。 否则,请在python site-packages文件夹中查找气流,然后按照下面的说明进行操作。

按照说明https://stackoverflow.com/a/43414326/1823570

  • 转到$ AIRFLOW_HOME / lib / python2.7 / site-packages / airflow目录
  • 删除名为example_dags的目录,或者只是将其重命名为还原
  • 重新启动您的网络服务器
  

cat $ AIRFLOW_HOME / airflow-webserver.pid | xargs kill -9

     

airflow webserver -p [port-number]

答案 2 :(得分:1)

气流1.10 +:

  • 编辑airflow.cfg并设置load_examples = False
  • 对于每个示例,运行命令airflow delete_dag example_dag_to_delete

这避免了重置整个气流数据库。

(自Airflow 1.10起,就有从数据库中删除dag的命令,请参见this answer

答案 3 :(得分:0)

肯定airflow resetdb在这里起作用。

我要做的是创建多个Shell脚本,以用于各种目的,例如启动Web服务器,启动调度程序,刷新dag等。我只需要运行该脚本即可执行我想要的操作。这是列表:

(venv) (base) [pchoix@hadoop02 airflow]$ cat refresh_airflow_dags.sh
#!/bin/bash
cd ~
source venv/bin/activate
airflow resetdb
(venv) (base) [pchoix@hadoop02 airflow]$ cat start_airflow_scheduler.sh
#!/bin/bash
cd /home/pchoix
source venv/bin/activate
cd airflow
nohup airflow scheduler >> "logs/schd/$(date +'%Y%m%d%I%M%p').log" &
(venv) (base) [pchoix@hadoop02 airflow]$ cat start_airflow_webserver.sh
#!/bin/bash
cd /home/pchoix
source venv/bin/activate
cd airflow
nohup airflow webserver >> "logs/web/$(date +'%Y%m%d%I%M%p').log" &
(venv) (base) [pchoix@hadoop02 airflow]$ cat start_airflow.sh
#!/bin/bash
cd /home/pchoix
source venv/bin/activate
cd airflow
nohup airflow webserver >> "logs/web/$(date +'%Y%m%d%I%M%p').log" &
nohup airflow scheduler >> "logs/schd/$(date +'%Y%m%d%I%M%p').log" &

别忘了chmod +x那些脚本

希望您能找到帮助。