我试图在我的Ubuntu机器上安装Celery with Redis for Airflow 2.8.0,但我不知道应该把broker_url
设置在哪里。
如果你检查airflow.cfg
,你会注意到,没有celery 部分的设置在它。Official docs是不清楚的-它说,我应该找到celery 的配置文件在气流.providers.celery(~/airflow/airflow/lib/python3.10/site-packages/airflow/providers/celery
),但没有配置文件在这里:
从Airflow 2.7.0开始使用嵌入在提供程序包中的配置。以前,在Airflow核心包中描述和配置了配置-因此,如果您使用的是低于2.7.0的Airflow,请查看Airflow文档,以获得Airflow核心中可用的可用配置选项列表。
所以问题是:
- Airflow 2.8.0的
broker_url
设置应该放在哪里?
1.默认情况下,Airflow Celery Worker使用的配置文件是什么?如果我用airflow celery worker
命令启动它,它会写传输是redis://redis:6379/0
(airflow) my@comp:~/airflow$ airflow celery worker
[2023-12-30 11:41:27 +0000] [215202] [INFO] Starting gunicorn 21.2.0
[2023-12-30 11:41:27 +0000] [215202] [INFO] Listening at: http://[::]:8793 (215202)
[2023-12-30 11:41:27 +0000] [215202] [INFO] Using worker: sync
[2023-12-30 11:41:27 +0000] [215203] [INFO] Booting worker with pid: 215203
[2023-12-30 11:41:27 +0000] [215204] [INFO] Booting worker with pid: 215204
-------------- celery@comp v5.3.6 (emerald-rush)
--- ***** -----
-- ******* ---- Linux-5.15.0-91-generic-x86_64-with-glibc2.35 2023-12-30 11:41:27
- *** --- * ---
- ** ---------- [config]
- ** ---------- .> app: airflow.providers.celery.executors.celery_executor:0x7fd684150b50
- ** ---------- .> transport: redis://redis:6379/0
- ** ---------- .> results: postgresql+psycopg2://airflow_user:**@localhost:5432/airflow_db
- *** --- * --- .> concurrency: 16 (prefork)
-- ******* ---- .> task events: OFF (enable -E to monitor tasks in this worker)
--- ***** -----
-------------- [queues]
.> default exchange=default(direct) key=default
字符串
1条答案
按热度按时间czfnxgou1#
我将以下内容添加到airflow.cfg文件的末尾:
字符串
这有助于覆盖Celery的代理URL。不确定这是解决方案(更像是变通方法),但我找不到放置此设置的位置。