如何解决Airflow Scheduler中的数据库连接无效警告?

时间:2019-05-21 21:39:19

标签: database postgresql sqlalchemy airflow airflow-scheduler

我正在将Airflow实例从1.9升级到1.10.3,并且每当调度程序现在运行时,我都会收到一条警告,指出数据库连接已失效,并且正在尝试重新连接。这些错误会连续出现。控制台还指示正在计划任务,但是如果我检查数据库,则什么也没写。

以下警告显示了以前没有出现过的地方

[2019-05-21 17:29:26,017] {sqlalchemy.py:81} WARNING - DB connection invalidated. Reconnecting...

最终,我也会收到此错误

FATAL: remaining connection slots are reserved for non-replication superuser connections

我试图增加airflow.cfg中的SQL Alchemy池大小设置,但这没有效果

# The SqlAlchemy pool size is the maximum number of database connections in the pool.
sql_alchemy_pool_size = 10

我正在使用CeleryExecutor,并且我认为可能有大量工作人员正在使数据库连接超载。

我运行三个命令airflow webserverairflow schedulerairflow worker,所以应该只有一个工作程序,我不知道为什么这会使数据库超载。

如何解决数据库连接错误?是否有增加数据库连接数量的设置,如果有,它在哪里?我需要不同地对待工人吗?


更新

即使没有工作人员在运行,也要重新启动Web服务器和调度程序,当调度程序填满气流池时,DB连接警告开始出现。

1 个答案:

答案 0 :(得分:2)

最新版本的Airflow 1.10.4

已解决此问题

我相信它已由AIRFLOW-4332修复,将SQLAlchemy更新为较新的版本。

Pull request