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好处如下:
- 如果一个worker节点崩溃挂掉,集群仍然可以正常利用其他worker节点来调度执行任务。
- 当工作流中有内存密集型任务,任务最好分布在多态机器上执行以得到更好效果,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的架构如下:

相关文章:
Apache Airflow (十三) :Airflow分布式集群搭建及使用-原因及
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…...
# 聚类系列(一)——什么是聚类?
目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码 下面正式进入该系列的第一个部分ÿ…...
Android DatePicker(日期选择器)、TimePicker(时间选择器)、CalendarView(日历视图)- 简单应用
示意图: layout布局文件:xml <?xml version"1.0" encoding"utf-8"?> <ScrollView xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"…...
linux环境搭建mysql5.7总结
以下安装方式,在阿里云与腾讯云服务器上都测试可用。 一、进入到opt目录下,执行: [rootmaster opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz解压: [rootmaster opt]#…...
SQL Server Count()函数
SQL Server Count()函数 SQL Server COUNT() 是一个聚合函数,它返回在集合中找到的项目数。 COUNT() 函数语法: COUNT([ALL | DISTINCT ] expression)ALL 指示COUNT() 函数应用于所有值。ALL是默认值。返回非NULL值的数量(包括重复值&…...
架构探索之路-第一站-clickhouse | 京东云技术团队
一、前言 架构, 软件开发中最熟悉不过的名词, 遍布在我们的日常开发工作中, 大到项目整体, 小到功能组件, 想要实现高性能、高扩展、高可用的目标都需要优秀架构理念辅助. 所以本人尝试编写架构系列文章, 去剖析市面上那些经典优秀的开源项目, 学习优秀的架构理念来积累架构设…...
易航网址引导系统 v1.9 源码:去除弹窗功能的易航网址引导页管理系统
易航自主开发了一款极其优雅的易航网址引导页管理系统,后台采用全新的光年 v5 模板开发。该系统完全开源,摒弃了后门风险,可以管理无数个引导页主题。数据管理采用易航原创的JsonDb数据包,无需复杂的安装解压过程即可使用。目前系…...
创新无界:通义灵码在测试过程中展现的独特魅力
通义灵码基于通义大模型,提供代码智能生成、研发智能问答能力。本文就来介绍下通义灵码在测试过程中的应用。 操作手册: 通义灵码, 阿里云提供的一款基于通义大模型的智能编码辅助工具_云效-阿里云帮助中心 1. 什么是通义灵码 是阿里云出品的一款基于通…...
crmchat安装搭建教程文档 bug问题调试
一、安装PHP插件:fileinfo、redis、swoole4。 二、删除PHP对应版本中的 proc_open禁用函数。 一、设置网站运行目录public, 二、设置PHP版本选择纯静态。 三、可选项如有需求则开启SSL,配置SSL证书,开启强制https域名。 四、添加反向代理。 …...
Golang http 请求如何设置代理
ENV golang 1.17 使用代理 需要在创建 http client 的时候设置,使 http 库能够捕获环境变量 示例 func newClient(cert tls.Certificate) (*http.Client, error) {config : &tls.Config{Certificates: []tls.Certificate{cert},}config.BuildNameToCertific…...
电子眼与无人机在城市安防中的协同应用研究
随着城市化进程的快速推进,城市安全问题成为了人们关注的焦点。传统的安防手段已经无法满足现代城市复杂多变的安全需求。因此,结合电子眼与无人机技术,实现二者之间的协同应用,成为提升城市安防能力的重要途径。 一、电子眼与无人…...
LVS+keepalived——高可用集群
lvskeepalived:高可用集群 keepalived为lvs应运而生的高可用服务。lvs的调度器无法做高可用,于是keepalived这个软件。实现的是调度器的高可用。但是:keepalived不是专门为lvs集群服务的,也可以做其他代理服务器的高可用。 lvs的…...
使用 AWS boto3 库从 s3 桶中批量下载数据
文章目录 一、Boto3 快速安装二、账户配置三、代码示例3.1 下载单个文件3.2 下载文件夹内全部文件 官方文档 一、Boto3 快速安装 安装 Boto3 之前,先安装 Python 3.8 或更高版本;对 Python 3.6 及更早版本的支持已弃用。 通过 pip 安装最新的 Boto3 版…...
js ::after简单实战
::after的作用是在元素后面再加个XXX样式 工作中遇到了一个表格,鼠标指到单元格要有个整行编辑态的效果,下面写个简单的demo 有人可能会说了,直接修改某个单元格的hover样式不就行了嘛,问题是如果鼠标指到单元格和单元格直接的…...
数据结构与算法实验(黑龙江大学)
实验一 顺序存储的线性表(2 学时) 一、实验目的 1 、掌握线性表的逻辑结构特征。 2、熟练掌握线性表的顺序存储结构的描述方法。 3 、熟练掌握顺序表上各种基本操作的实现。 二、实验内容 1 、设线性表的数据元素都为整数,存放在顺序表…...
如何使用rclone将腾讯云COS桶中的数据同步到华为云OBS
在多云策略与数据迁移趋势下,企业往往需要将数据在不同云服务提供商之间进行迁移。本文介绍如何使用rclone工具同步腾讯云COS(Cloud Object Storage)桶中的数据到华为云OBS(Object Storage Service)。先决条件是您已经…...
gitlab
Gitlab 安装git yum安装 [rootgit ~]# yum -y install git编译安装 Git官网 #安装依赖关系 [rootgit ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel autoconf gcc perl-ExtUtils-MakeMaker # 编译安装 [rootgit ~]# tar -zxf git-2.0…...
3.计算机网络
1.重点概念 MSL(Maximum segment lifetime):TCP 报⽂最⼤⽣存时间。它是任何 TCP 报⽂在⽹络上存在的 最⻓时间,超过这个时间报⽂将被丢弃。实际应⽤中常⽤的设置是 30 秒,1 分钟和 2 分钟。 TTL(Time to …...
Doris表的动态分区
动态分区是在Doris 0.12版本中引入的新功能。旨在对表级别的分区实现生命周期管理(TTL),减少用户的使用负担。 目前实现了动态添加分区及动态删除分区的功能。动态分区只支持Range分区。 1 原理 在某些使用场景下,用户会将表按照天进行分区划分,每天定时执行例行任务,这时…...
docker小技能:部署mysql
文章目录 引言I Docker安装MySQL1.1 安装mysql1.2 配置容器自动重启参数1.3 查看版本II 配置MySQL2.1 设置为开机自启动2.2 执行MySQL安全性操作并设置密码2.3 配置文件2.4 创建数据库用户dmsTest,并授予远程连接权限。2.5 用户相关命令III 用户权限3.1 权限层级3.2 权限分类3.…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...

