我正在将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 webserver
,airflow scheduler
和airflow worker
,所以应该只有一个工作程序,我不知道为什么这会使数据库超载。
如何解决数据库连接错误?是否有增加数据库连接数量的设置,如果有,它在哪里?我需要不同地对待工人吗?
更新:
即使没有工作人员在运行,也要重新启动Web服务器和调度程序,当调度程序填满气流池时,DB连接警告开始出现。
答案 0 :(得分:2)