我有一个使用 Docker 运行的 Airflow 集群。除了 DAG 处理器未正确绑定之外,一切似乎都工作正常。
检查集群状态时,它设置为未知:
因此我正在研究如何让 DAG 处理器能够获得正确的状态。
我已确认组件运行良好并且状态良好:
docker ps | grep airflow
b3945b8cd533 apache/airflow:2.7.1 "/usr/bin/dumb-init …" 3 days ago Up 3 days (healthy) 8080/tcp airflow_airflow-webserver_1
c19eb3571734 apache/airflow:2.7.1 "/usr/bin/dumb-init …" 3 days ago Up 3 days (healthy) 8080/tcp airflow_airflow-worker_1
07403ea2cdd0 apache/airflow:2.7.1 "/usr/bin/dumb-init …" 3 days ago Up 3 days (healthy) 8080/tcp airflow_airflow-scheduler_1
6b53355eae24 apache/airflow:2.7.1 "/usr/bin/dumb-init …" 3 days ago Up 3 days (healthy) 8080/tcp airflow_airflow-triggerer_1
1f8dfbc2766b redis:latest "docker-entrypoint.s…" 4 days ago Up 4 days (healthy) 6379/tcp airflow_airflow-cache_1
53c2926b6eea postgres:16 "docker-entrypoint.s…" 4 days ago Up 4 days (healthy) 5432/tcp airflow_airflow-database_1
检查配置,日志是否已正确定义:
dag_processor_manager_log_location = /opt/airflow/logs/dag_processor_manager/dag_processor_manager.log
文件确实存在于所需位置:
docker exec -it airflow_airflow-worker_1 bash
ls -l /opt/airflow/logs/dag_processor_manager
total 18444
-rw-rw-r-- 1 default root 18880639 Oct 10 06:15 dag_processor_manager.log
我的问题是:为什么我的 DAG 处理器状态为未知?并且,我应该如何配置集群才能正确绑定此状态?
您的环境中似乎没有运行独立的 DagProcessorManager 组件。 从 Airflow 2.3.0 开始,DagProcessorManager 可以作为单独的进程运行,以将一些责任与 Scheduler 分离。
standalone-dag-processor
配置启用它