我在我的计算机上本地运行标准的对接-撰写文件,所有的默认设置来自气流:2.1.4,postgres:13,redis:最新。当我有调度程序的一个实例时,一切都按预期的方式工作,但是当我添加调度程序的另一个实例时,我开始得到锁定问题。
postgres_1 | STATEMENT: SELECT slot_pool.pool AS slot_pool_pool, slot_pool.slots AS slot_pool_slots FROM slot_pool FOR UPDATE NOWAIT我的相关停靠-撰写文件是
&airflow-common
environment:
AIRFLOW__CORE__EXECUTOR: CeleryExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
AIRFLOW__CELERY__RESULT_BACKEND: db+postgresql://airflow:airflow@postgres/airflow
AIRFLOW__CELERY__BROKER_URL: redis://:@redis:6379/0
AIRFLOW__WEBSERVER__WEB_SERVER_MASTER_TIMEOUT: 360
AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
AIRFLOW__CORE__FERNET_KEY: ''
AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION: 'true'
AIRFLOW__CORE__LOAD_EXAMPLES: 'false'
AIRFLOW__CORE__STORE_DAG_CODE: 'false'
airflow-scheduler-1:
<<: *airflow-common
command: scheduler
container_name: airflow-scheduler-1
airflow-scheduler-2:
<<: *airflow-common
command: scheduler
container_name: airflow-scheduler-2文档是没有用的,因为它提到,我可以运行“气流调度器”多次,它应该是开箱即用的。有什么我错过的HA设置吗?
发布于 2021-11-10 22:59:33
从调度器一侧的气流中释放出来的HA将在不同的机器上运行多个调度器。
正如您现在注意到的,这确实会在数据库上创建锁。
在这一点上,您的选择是有限的,这将成为一个基于以下两大类的优化工作-
DB的大小通常基于以下内容:
- number of files that regularly get parsed
- number of schedulers
- number of workers
- number of tasks
- frequency of execution)。
https://stackoverflow.com/questions/69443489
复制相似问题