使用Docker Compose部署Apache Airflow时遇SQLite与CeleryExecutor兼容错误
Airflow Docker Compose部署错误:sqlite与CeleryExecutor冲突解决
错误原因
CeleryExecutor作为分布式执行器,依赖支持多进程并发访问的数据库(如PostgreSQL、MySQL),而SQLite是单文件数据库,不支持多进程写入,因此Airflow会直接抛出配置冲突错误。
解决步骤
检查docker-compose.yaml配置
打开本地的docker-compose.yaml文件,找到x-airflow-common下的environment块,确认以下两个配置项:AIRFLOW__CORE__EXECUTOR的值为CeleryExecutorAIRFLOW__DATABASE__SQL_ALCHEMY_CONN指向PostgreSQL服务(格式应为postgresql+psycopg2://airflow:airflow@postgres/airflow),而非SQLite的文件路径。
彻底清理残留资源
执行命令完全清除旧容器、网络和数据卷,避免残留配置干扰:docker compose down --volumes --remove-orphans重新初始化部署
确保配置正确后,重新运行初始化命令:docker compose up airflow-init排查自定义配置干扰
如果挂载了本地的airflow.cfg配置文件,检查文件中[core]段的executor和[database]段的sql_alchemy_conn,确保两者匹配(CeleryExecutor对应非SQLite数据库)。
内容的提问来源于stack exchange,提问作者Sifaw Ahil
相关产品推荐
相关产品推荐

