0

我用芹菜工人配置了气流,而芹菜经纪人是redis。所有服务都已启动,我正在通过花来监控芹菜工人和任务。

当我在气流数据库中运行此查询时

select count(*), executor_class, min(start_date), max(start_date) from airflow.job where
start_date > '2020-01-17' group by executor_class;

我看到很多工作的 executor_class 为 NoneType :

在此处输入图像描述

我已经按照 1.10.6 文档中的要求配置了气流。但是自 2020-01-17 05:38 起,everyjob 已停止在 CeleryExecutor 上运行。这是气流升级的时间,它在从 1.10.1 升级到 1.10.6 后分配 NoneType。花中的监控还显示所有 celery 工作人员都处于活动状态,但他们没有通过代理发送任何消息。

气流配置

celery_app_name = airflow.executors.celery_executor
worker_concurrency = 16
worker_log_server_port = 8793
broker_url = redis://localhost:6379/0
result_backend = redis://localhost:6379/0
flower_host = 0.0.0.0
flower_port = 5555
default_queue = default
celery_config_options = airflow.config_templates.default_celery.DEFAULT_CELERY_CONFIG
executor = CeleryExecutor
dag_concurrency = 16
task_runner = StandardTaskRunner

我应该怎么做才能确保将作业分配给'CeleryExecutor'以便DAG开始运行(如何让芹菜经纪人将这些任务分配给芹菜工人)?

4

1 回答 1

0

为了解决这个问题,必须增加执行器的数量和并行化因子。将并行度设置为超过 250 可以解决问题,因为我们在 100 个活动 DAG 中有 1000 个任务。

于 2020-07-30T15:03:28.440 回答