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

MacOS下Docker部署Airflow失败:扩容内存仍无法正常运行

Airflow 2.4.2 Docker部署Webserver健康检查失败解决(MacOS 12.6.2,8GB内存)

环境与问题

  • 系统:MacOS 12.6.2(8GB物理内存)
  • Airflow镜像:apache/airflow:2.4.2
  • .env配置:
AIRFLOW_IMAGE_NAME=apache/airflow:2.4.2
AIRFLOW_UID=50000

执行docker-compose up -d后,webserver容器始终无法进入健康状态,日志循环输出worker超时:

2023-01-12 03:26:30 [2023-01-12 11:26:30 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:215)
2023-01-12 03:26:31 [2023-01-12 11:26:31 +0000] [79] [CRITICAL] WORKER TIMEOUT (pid:216)

已尝试调整Docker内存(4-8GB)、CPU、Swap及磁盘限额,问题依旧;注释redis、airflow-worker、airflow-triggerer组件后容器可正常运行,但业务依赖这些组件。

资源受限下的解决方法

1. 延长Webserver Worker超时时间

默认gunicorn worker超时为30秒,内存不足时Webserver启动慢,容易触发超时。修改docker-compose.yaml中airflow-webserver服务的配置:

services:
  airflow-webserver:
    environment:
      - GUNICORN_CMD_ARGS="--timeout 120"
    healthcheck:
      test: ["CMD", "curl", "--fail", "http://localhost:8080/health"]
      interval: 30s
      timeout: 30s
      retries: 5
      start_period: 300s  # 给足启动缓冲时间

2. 削减组件资源占用

  • 减少Worker并发数:默认Celery Worker并发数为2,改成1可降低内存消耗,在airflow-worker服务中添加:
airflow-worker:
    environment:
      - AIRFLOW__CELERY__WORKER_CONCURRENCY=1
  • 关闭不必要功能:在.env中添加配置,禁用示例DAG、降低日志级别:
AIRFLOW__CORE__LOAD_EXAMPLES=False
AIRFLOW__LOGGING__LOGGING_LEVEL=WARN

3. 给单个容器设置资源限额

避免某一容器抢占过多资源导致其他组件崩溃,在docker-compose.yaml中给各服务添加资源限制:

services:
  airflow-webserver:
    deploy:
      resources:
        limits:
          memory: 2G
        reservations:
          memory: 1G
  airflow-worker:
    deploy:
      resources:
        limits:
          memory: 2G
        reservations:
          memory: 1G
  redis:
    deploy:
      resources:
        limits:
          memory: 512M
        reservations:
          memory: 256M

4. 切换轻量级Executor

如果Celery+Redis组合资源占用过高,可先切换到LocalExecutor(无需Redis,资源占用更低),在.env中设置:

AIRFLOW__CORE__EXECUTOR=LocalExecutor

待Webserver稳定后,再根据业务需求评估是否换回CeleryExecutor;测试场景下也可使用SequentialExecutor(单进程,资源占用最低):

AIRFLOW__CORE__EXECUTOR=SequentialExecutor

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:01:14