前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据调度平台Airflow(七):Airflow分布式集群搭建原因及其他扩展

大数据调度平台Airflow(七):Airflow分布式集群搭建原因及其他扩展

作者头像
Lansonli
修改2022-09-24 08:48:18
2.4K1
修改2022-09-24 08:48:18
举报
文章被收录于专栏:Lansonli技术博客

Airflow分布式集群搭建原因及其他扩展

一、Airflow分布式集群搭建原因

在稳定性要求较高的场景中,例如:金融交易系统,airflow一般采用集群、高可用方式搭建部署,airflow对应的进程分布在多个节点上运行,形成Airflow集群、高可用部署,架构图如下:

以上集群、高可用方式搭建Airflow好处如下:

  • 如果一个worker节点崩溃挂掉,集群仍然可以正常利用其他worker节点来调度执行任务。
  • 当工作流中有内存密集型任务,任务最好分布在多态机器上执行以得到更好效果,airflow分布式集群满足这点。

二、​​​​​​​Airflow分布式集群其他扩展

1、​​​​​​​扩展Worker节点

我们可以通过向集群中添加更多的worker节点来水平扩展集群,并使这些新节点使用同一个元数据库,从而分布式处理任务。由于Worker不需要再任何进程注册即可执行任务,因此worker节点可以在不停机,不重启服务下的情况进行扩展。

我们也可以通过增加单个worker节点的进程数来垂直扩展集群,可以通过修改airflow配置文件AIRFLOW_HOME/airflow.cfg中celeryd_concurrency的值来实现,例如:celeryd_concurrency=30,我们可以根据集群上运行任务性质、CPU的内核数量等增加Worker单节点并发数量来满足实际需求。

扩展worker节点后的架构如下:

2、​​​​​​​扩展Master节点

我们还可以向集群中添加更多的主节点,以扩展主节点上运行的服务。我们可以扩展webserver,防止太多的HTTP请求出现在一台机器上防止webserver挂掉,需要注意,Master节点包含Scheduler与webServer,在一个Airflow集群中我们只能一次运行一个Scheduler进程,如果有多个Scheduler运行,那么可能出现同一个任务被执行多次,导致任务流重复执行。

Master扩展参照后续Airflow分布式集群搭建,扩展Master后的架构如下:

3、​​​​​​​Scheduler HA

扩展Master后的Airflow集群中只能运行一个Scheduler,那么运行的Scheudler进程挂掉,任务同样不能正常调度运行,这种情况我们可以在两台机器上部署scheduler,只运行一台机器上的Scheduler进程,一旦运行Schduler进程的机器出现故障,立刻启动另一台机器上的Scheduler即可,这种就是Schduler HA,我们可以借助第三方组件airflow-scheduler-failover-controller实现Scheduler的高可用。

详细操作参照后续Airflow分布式集群搭建,加入Scheduler HA的架构如下:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/03/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Airflow分布式集群搭建原因及其他扩展
    • 一、Airflow分布式集群搭建原因
      • 二、​​​​​​​Airflow分布式集群其他扩展
        • 1、​​​​​​​扩展Worker节点
        • 2、​​​​​​​扩展Master节点
        • 3、​​​​​​​Scheduler HA
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档