我使用后端mariaDB运行气流,并定期安排DAG任务时,我注意到气流工作者中出现以下错误sqlalchemy. exe . operationalerror: (_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away')。我不确定问题是否由于气流配置错误而发生,或者必须这样做,后端是mariaDB,正如我所看到的,它不是一个推荐的数据库。此外,在mariaDB日志中,我几乎每分钟都会看到下面的警告[警告]连接失败305627到db: '气流'用户:'气流'主机:'主机名'(读取通信数据包错误)
我也看到过一些类似的问题,但是不管我怎么尝试,都没有用。
问题是,我应该将数据库更改为MySQL吗?或者必须在mariaDB的末端进行一些配置?
-
气流v2.0.1
-
MariaDB 10.5.5
-
SQLAlchemy 1.3.23
很难说-您需要查找数据库连接中断的原因。MariaDB使用单个调度器might进行快速测试工作,但有一些原因,你的连接到数据库断开。
有几件事你可以做:
-
气流有
时,您将看到的错误将是明显的db check
命令行命令,您可以运行它来测试DB配置是否工作-也许当您尝试 -
airflow还有另一个有用的命令
db shell
-它将允许您连接到DB并运行sql查询。这可能会告诉你你的网络是否"稳定"。您可以连接并运行一些查询,看看您的连接是否在此期间没有中断 -
你可以看到更多的日志和你的网络连接,看看你是否有问题
-
最后检查你是否有足够的资源来运行气流+ DB。例如,当你没有足够的内存时,就会发生这样的事情。从经验来看,Airflow + DB至少需要4GB内存(取决于DB配置),如果你在Mac或Windows上使用Docker, Docker VM默认的内存比可用的内存少,你需要增加它。
-
查看其他资源-磁盘空间,内存,连接数等,这些都可能是您的问题。