我正在将气流实例从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炼金术池尺寸设置,但没有效果
# 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连接警告开始出现。
更新2:
我在气流Jira中找到了以下问题:https://issues.apache.org/jira/browse/browse/airflow-4567
有些活动与其他活动说他们看到了同样的问题。目前尚不清楚这是否直接导致某些人看到的崩溃或这是否只是令人讨厌的化妆品日志。到目前为止,还没有解决此问题的解决方案。
在最新版本的气流中解决了这一点,1.10.4
我相信它是由AirFlow-4332修复的,将SQLalchemy更新为新版本。
拉请求