You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Airflow 1.1升级到2.0后Docker部署任务无法执行问题求助

Airflow 2.x 升级后CeleryExecutor不生效报错解决方案

错误核心原因为Airflow运行时实际加载的执行器为默认的SequentialExecutor,和配置声明的CeleryExecutor不匹配,结合提供的配置,按以下步骤修复即可:

  • 修正Redis连接配置
    你在redis服务中配置了访问密码,但Celery broker连接地址未携带密码,导致Celery组件初始化失败,执行器回退为默认的SequentialExecutor。将AIRFLOW__CELERY__BROKER_URL配置修改为:
    AIRFLOW__CELERY__BROKER_URL: redis://:redispass@redis:6379/0
    
    密码需和你redis.env中配置的密码保持一致。
  • 清理重复目录挂载
    你的公共配置volumes字段重复挂载了dags、logs、plugins目录,后挂载的./airflow/前缀路径会覆盖前面的自定义路径,容易引发配置加载异常。删除重复的3行挂载配置即可:
    # 删掉以下3行重复配置
    - ./airflow/dags:/opt/airflow/dags
    - ./airflow/logs:/opt/airflow/logs
    - ./airflow/plugins:/opt/airflow/plugins
    
  • 清除旧版本元数据残留
    从1.x版本升级后,旧的元数据库中可能残留历史执行器配置,会覆盖环境变量的配置。进入airflow-webserver容器执行以下命令完成数据库迁移:
    airflow db upgrade
    
    迁移完成后执行airflow config get-value core executor,确认返回值为CeleryExecutor。
  • 重启服务生效配置
    所有配置修改完成后,执行以下命令清理旧容器缓存并重启服务:
    docker-compose down -v
    docker-compose up -d
    
    注意-v参数只会删除docker-compose声明的匿名卷,不会删除你本地挂载的dags、数据库等持久化文件。
  • 验证修复结果
    服务启动完成后,进入Airflow Web控制台,依次点击「Admin」-「Configurations」,搜索core.executor,确认值为CeleryExecutor,此时运行测试任务即可正常调度。

内容的提问来源于stack exchange,提问作者Rhonald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:36:02