从气流连接 postgres 数据库时出错

Error while connecting postgres db from airflow

使用:

sql_alchemy_conn = db+postgresql://username:xxx@127.0.0.1:5432/airflow 给出错误:

sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:db.postgresql

并且使用时:

sql_alchemy_conn = postgresql+psycopg2://username:xxx@localhost:5432/airflow 我可以 运行 airlfow webserver -p 8080 但是当 运行 调度程序时:airflow scheduler 它抛出错误:

ModuleNotFoundError: No module named 'MySQLdb'

我正在使用的软件包版本:

psycopg2==2.7.3.1
sqlalchemy==1.1.15
sqlalchemy-redshift== 0.7.0
apache_airflow=1.8.2

早些时候 sql_alchemy_conn = db+postgresql://username:xxx@127.0.0.1:5432/airflow 确实对我有用 - 2 个月前。现在不知道是什么问题

最后,以下设置起作用了 - 在 airflow.cfg 中:

sql_alchemy_conn = postgresql+psycopg2://scot:tiger@localhost:5432/airflow
celery_result_backend = db+postgres://scot:tiger@localhost:5432/airflow

重要的是要注意 airflow.cfg 文件中 sql_alchemy_conncelery_result_backend 设置的 dialect+driver 是不同的,尽管它们指向同一个数据库。