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

如何在docker compose yaml中配置多个Airflow Scheduler实例

Docker Compose 环境下 Airflow 2.2.5 多Scheduler部署方案

Airflow 2.0 版本开始原生支持多Scheduler HA模式,你直接在compose配置里定义两个配置完全一致的scheduler服务即可,这就是非K8s环境下的标准实现方式,不存在其他特殊的"规范方案"。

部署前先确认几个硬前提:

  • 元数据库必须使用MySQL 8.0+ 或 PostgreSQL 12+ 版本,SQLite 不支持多Scheduler锁机制,你当前跑12个Celery worker的环境一般已经满足该条件,无需额外调整。
  • 所有scheduler实例必须挂载完全一致的DAG目录、插件目录、airflow.cfg配置文件,环境变量、安装的第三方依赖也必须完全对齐,避免出现DAG解析、调度逻辑不一致的问题。
  • 多Scheduler模式不需要修改额外配置,Airflow会通过元数据库的行锁机制自动协调调度逻辑,不会出现重复调度任务的问题:同一时间会有多个Scheduler共同分担DAG文件解析、任务状态上报处理的流量,只有持有调度锁的实例会负责触发任务调度,持锁实例异常退出时其他热备Scheduler会自动抢锁接管,刚好匹配你当前单Scheduler承载能力不足的场景。

配置示例

直接在原有docker-compose.yml中复制原有scheduler的服务定义,修改服务名即可,参考配置如下:

services:
  # 原有服务(postgres、redis、webserver、worker等)保持原有配置不变
  scheduler-1:
    image: apache/airflow:2.2.5
    command: scheduler
    env_file:
      - .env
    volumes:
      - ./dags:/opt/airflow/dags
      - ./logs:/opt/airflow/logs
      - ./plugins:/opt/airflow/plugins
    user: "${AIRFLOW_UID:-50000}:0"
    depends_on:
      - postgres
      - redis
    restart: always

  scheduler-2:
    image: apache/airflow:2.2.5
    command: scheduler
    env_file:
      - .env
    volumes:
      - ./dags:/opt/airflow/dags
      - ./logs:/opt/airflow/logs
      - ./plugins:/opt/airflow/plugins
    user: "${AIRFLOW_UID:-50000}:0"
    depends_on:
      - postgres
      - redis
    restart: always

部署操作步骤

  1. 启动新配置前先执行一次元数据库结构升级,避免表结构不兼容:docker compose run --rm scheduler-1 airflow db upgrade
  2. 正常启动所有服务即可,不需要执行额外的初始化操作。
  3. 验证方式:查看两个scheduler服务的日志无重复调度报错,登录Airflow Webserver在「Browse - Schedulers」页面可以看到两个在线的Scheduler实例、心跳状态正常即为部署成功。

补充排查提示:12个Celery Worker场景下的实例崩溃问题,除了Scheduler请求处理瓶颈,还要排查两个常见问题:一是Scheduler默认的DAG解析进程数[scheduler] parsing_processes配置过低,导致DAG解析积压拖垮整个调度服务,可以根据主节点CPU核数适当调高;二是Worker节点本身的[celery] worker_concurrency配置过高,导致节点内存不足触发OOM崩溃,不要直接把所有故障原因都归到Scheduler流量瓶颈上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 02:51:30