当前位置: 首页 > news >正文

Apache Airflow (十三) :Airflow分布式集群搭建及使用-原因及

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客

 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。

 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频


目录

1. Airflow分布式集群搭建原因

2. Airflow分布式集群其他扩展

2.1 扩展Worker节点

2.2 扩展Master节点

2.3 Scheduler HA


1. Airflow分布式集群搭建原因

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

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

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

2. Airflow分布式集群其他扩展

2.1 扩展Worker节点

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

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

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

2.2 扩展Master节点

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

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

2.3 Scheduler HA

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

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


http://www.lryc.cn/news/238525.html

相关文章:

  • # 聚类系列(一)——什么是聚类?
  • Android DatePicker(日期选择器)、TimePicker(时间选择器)、CalendarView(日历视图)- 简单应用
  • linux环境搭建mysql5.7总结
  • SQL Server Count()函数
  • 架构探索之路-第一站-clickhouse | 京东云技术团队
  • 易航网址引导系统 v1.9 源码:去除弹窗功能的易航网址引导页管理系统
  • 创新无界:通义灵码在测试过程中展现的独特魅力
  • crmchat安装搭建教程文档 bug问题调试
  • Golang http 请求如何设置代理
  • 电子眼与无人机在城市安防中的协同应用研究
  • LVS+keepalived——高可用集群
  • 使用 AWS boto3 库从 s3 桶中批量下载数据
  • js ::after简单实战
  • 数据结构与算法实验(黑龙江大学)
  • 如何使用rclone将腾讯云COS桶中的数据同步到华为云OBS
  • gitlab
  • 3.计算机网络
  • Doris表的动态分区
  • docker小技能:部署mysql
  • “AI在未来”公益计划,亚马逊云科技将教育资源带到更多中西部学校
  • MyBatis的xml实现
  • dolphinscheduler任务莫名重跑
  • Modbus TCP/RTU协议转PROFINET协议网关
  • Caché for UNIX®, Linux及macOS的安装及配置
  • 【书籍篇】Git 学习指南(一)基础概念及入门
  • JWT知识点
  • UDP接收报文函数recvfrom和UDP发送报文函数sendto
  • Redisson 分布式锁实战应用解析
  • 【机器学习】对比学习(contrastive learning)
  • 开源和闭源的优劣势比较