Airflow will keep showing example dags even after removing it from configuration

对着背影说爱祢 提交于 2019-12-07 01:34:13

问题


Airflow example dags remain in the UI even after I have turned off load_examples = False in config file.

The system informs the dags are not present in the dag folder but they remain in UI because the scheduler has marked it as active in the metadata database.

I know one way to remove them from there would be to directly delete these rows in the database but off course this is not ideal.How should I proceed to remove these dags from UI?


回答1:


There is currently no way of stopping a deleted DAG from being displayed on the UI except manually deleting the corresponding rows in the DB. The only other way is to restart the server after an initdb.




回答2:


Assuming you have installed airflow through Anaconda. Else look for airflow in your python site-packages folder and follow the below.

After you follow the instructions https://stackoverflow.com/a/43414326/1823570

  • Go to $AIRFLOW_HOME/lib/python2.7/site-packages/airflow directory
  • Remove the directory named example_dags or just rename it to revert back
  • Restart your webserver

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

airflow webserver -p [port-number]




回答3:


Airflow 1.10+:

  • Edit airflow.cfg and set load_examples = False
  • For each example dag run the command airflow delete_dag example_dag_to_delete

This avoids resetting the entire airflow db.

(Since Airflow 1.10 there is the command to delete dag from database, see this answer )




回答4:


Definitely airflow resetdb works here.

What I do is to create multiple shell scripts for various purposes like start webserver, start scheduler, refresh dag, etc. I only need to run the script to do what I want. Here is the list:

(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" &

Don't forget to chmod +x to those scripts

I hope you find this helps.



来源:https://stackoverflow.com/questions/44805954/airflow-will-keep-showing-example-dags-even-after-removing-it-from-configuration

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!