如何解决 Airflow Scheduler 中的 DB 连接无效警告?
·
问题:如何解决 Airflow Scheduler 中的 DB 连接无效警告?
我正在将我们的 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,所以应该只有一个工作人员,我不明白为什么会导致数据库过载。
如何解决数据库连接错误?有没有增加数据库连接数的设置,如果有,在哪里?我需要以不同的方式处理工人吗?
更新:
即使没有工作人员在运行,重新启动网络服务器和调度程序,当调度程序填满气流池时,数据库连接警告也会开始出现。
更新 2:
我在 Airflow Jira 中发现了以下问题:https://issues.apache.org/jira/browse/AIRFLOW-4567
有一些活动与其他人说他们看到了同样的问题。目前尚不清楚这是否直接导致某些人看到的崩溃,或者这是否只是一个令人讨厌的装饰日志。到目前为止,还没有解决这个问题的办法。
解答
这已经在最新版本的 Airflow 中解决了,1.10.4
我相信它已由AIRFLOW-4332修复,将 SQLAlchemy 更新到更新版本。
拉取请求
更多推荐
所有评论(0)