首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行多个气流调度程序会导致Postgres锁定问题

运行多个气流调度程序会导致Postgres锁定问题
EN

Stack Overflow用户
提问于 2021-10-04 23:52:33
回答 1查看 368关注 0票数 1

我在我的计算机上本地运行标准的对接-撰写文件,所有的默认设置来自气流:2.1.4,postgres:13,redis:最新。当我有调度程序的一个实例时,一切都按预期的方式工作,但是当我添加调度程序的另一个实例时,我开始得到锁定问题。

代码语言:javascript
复制
postgres_1 | STATEMENT:  SELECT slot_pool.pool AS slot_pool_pool, slot_pool.slots AS slot_pool_slots FROM slot_pool FOR UPDATE NOWAIT

我的相关停靠-撰写文件是

代码语言:javascript
复制
&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设置吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-10 22:59:33

从调度器一侧的气流中释放出来的HA将在不同的机器上运行多个调度器。

正如您现在注意到的,这确实会在数据库上创建锁。

在这一点上,您的选择是有限的,这将成为一个基于以下两大类的优化工作-

  1. 更改您的DB配置-

DB的大小通常基于以下内容:

代码语言:javascript
复制
- number of files that regularly get parsed
- number of schedulers
- number of workers
- number of tasks
- frequency of execution

  1. 在每个环境中创建多个部署--这通常意味着每个环境创建不同的集群,每个集群集中于特定的工作负载--这意味着解析的文件数量减少/调度程序/工作人员/任务减少(

)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69443489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档