当前位置: 首页 > 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的架构如下:


相关文章:

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

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…...

# 聚类系列(一)——什么是聚类?

目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码 下面正式进入该系列的第一个部分&#xff…...

Android DatePicker(日期选择器)、TimePicker(时间选择器)、CalendarView(日历视图)- 简单应用

示意图&#xff1a; layout布局文件&#xff1a;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总结

以下安装方式&#xff0c;在阿里云与腾讯云服务器上都测试可用。 一、进入到opt目录下&#xff0c;执行&#xff1a; [rootmaster opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz解压&#xff1a; [rootmaster opt]#…...

SQL Server Count()函数

SQL Server Count()函数 SQL Server COUNT() 是一个聚合函数&#xff0c;它返回在集合中找到的项目数。 COUNT() 函数语法&#xff1a; COUNT([ALL | DISTINCT ] expression)ALL 指示COUNT() 函数应用于所有值。ALL是默认值。返回非NULL值的数量&#xff08;包括重复值&…...

架构探索之路-第一站-clickhouse | 京东云技术团队

一、前言 架构, 软件开发中最熟悉不过的名词, 遍布在我们的日常开发工作中, 大到项目整体, 小到功能组件, 想要实现高性能、高扩展、高可用的目标都需要优秀架构理念辅助. 所以本人尝试编写架构系列文章, 去剖析市面上那些经典优秀的开源项目, 学习优秀的架构理念来积累架构设…...

易航网址引导系统 v1.9 源码:去除弹窗功能的易航网址引导页管理系统

易航自主开发了一款极其优雅的易航网址引导页管理系统&#xff0c;后台采用全新的光年 v5 模板开发。该系统完全开源&#xff0c;摒弃了后门风险&#xff0c;可以管理无数个引导页主题。数据管理采用易航原创的JsonDb数据包&#xff0c;无需复杂的安装解压过程即可使用。目前系…...

创新无界:通义灵码在测试过程中展现的独特魅力

通义灵码基于通义大模型&#xff0c;提供代码智能生成、研发智能问答能力。本文就来介绍下通义灵码在测试过程中的应用。 操作手册&#xff1a; 通义灵码, 阿里云提供的一款基于通义大模型的智能编码辅助工具_云效-阿里云帮助中心 1. 什么是通义灵码 是阿里云出品的一款基于通…...

crmchat安装搭建教程文档 bug问题调试

一、安装PHP插件&#xff1a;fileinfo、redis、swoole4。 二、删除PHP对应版本中的 proc_open禁用函数。 一、设置网站运行目录public&#xff0c; 二、设置PHP版本选择纯静态。 三、可选项如有需求则开启SSL,配置SSL证书&#xff0c;开启强制https域名。 四、添加反向代理。 …...

Golang http 请求如何设置代理

ENV golang 1.17 使用代理 需要在创建 http client 的时候设置&#xff0c;使 http 库能够捕获环境变量 示例 func newClient(cert tls.Certificate) (*http.Client, error) {config : &tls.Config{Certificates: []tls.Certificate{cert},}config.BuildNameToCertific…...

电子眼与无人机在城市安防中的协同应用研究

随着城市化进程的快速推进&#xff0c;城市安全问题成为了人们关注的焦点。传统的安防手段已经无法满足现代城市复杂多变的安全需求。因此&#xff0c;结合电子眼与无人机技术&#xff0c;实现二者之间的协同应用&#xff0c;成为提升城市安防能力的重要途径。 一、电子眼与无人…...

LVS+keepalived——高可用集群

lvskeepalived&#xff1a;高可用集群 keepalived为lvs应运而生的高可用服务。lvs的调度器无法做高可用&#xff0c;于是keepalived这个软件。实现的是调度器的高可用。但是&#xff1a;keepalived不是专门为lvs集群服务的&#xff0c;也可以做其他代理服务器的高可用。 lvs的…...

使用 AWS boto3 库从 s3 桶中批量下载数据

文章目录 一、Boto3 快速安装二、账户配置三、代码示例3.1 下载单个文件3.2 下载文件夹内全部文件 官方文档 一、Boto3 快速安装 安装 Boto3 之前&#xff0c;先安装 Python 3.8 或更高版本&#xff1b;对 Python 3.6 及更早版本的支持已弃用。 通过 pip 安装最新的 Boto3 版…...

js ::after简单实战

::after的作用是在元素后面再加个XXX样式 工作中遇到了一个表格&#xff0c;鼠标指到单元格要有个整行编辑态的效果&#xff0c;下面写个简单的demo 有人可能会说了&#xff0c;直接修改某个单元格的hover样式不就行了嘛&#xff0c;问题是如果鼠标指到单元格和单元格直接的…...

数据结构与算法实验(黑龙江大学)

实验一 顺序存储的线性表&#xff08;2 学时&#xff09; 一、实验目的 1 、掌握线性表的逻辑结构特征。 2、熟练掌握线性表的顺序存储结构的描述方法。 3 、熟练掌握顺序表上各种基本操作的实现。 二、实验内容 1 、设线性表的数据元素都为整数&#xff0c;存放在顺序表…...

如何使用rclone将腾讯云COS桶中的数据同步到华为云OBS

在多云策略与数据迁移趋势下&#xff0c;企业往往需要将数据在不同云服务提供商之间进行迁移。本文介绍如何使用rclone工具同步腾讯云COS&#xff08;Cloud Object Storage&#xff09;桶中的数据到华为云OBS&#xff08;Object Storage Service&#xff09;。先决条件是您已经…...

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&#xff08;Maximum segment lifetime&#xff09;&#xff1a;TCP 报⽂最⼤⽣存时间。它是任何 TCP 报⽂在⽹络上存在的 最⻓时间&#xff0c;超过这个时间报⽂将被丢弃。实际应⽤中常⽤的设置是 30 秒&#xff0c;1 分钟和 2 分钟。 TTL&#xff08;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.…...

TinyConsole自定义主题教程:打造个性化iOS调试控制台

TinyConsole自定义主题教程&#xff1a;打造个性化iOS调试控制台 【免费下载链接】TinyConsole &#x1f4f1;&#x1f4ac;&#x1f6a6; TinyConsole is a micro-console that can help you log and display information inside an iOS application, where having a connecti…...

Linux下将Cursor AppImage转为.deb包实现VSCode式系统集成

1. 项目概述&#xff1a;为什么我们需要一个“类VSCode”的Cursor安装器&#xff1f;如果你和我一样&#xff0c;日常在Linux桌面环境&#xff08;特别是Debian/Ubuntu系&#xff09;下工作&#xff0c;同时又对Cursor这款新兴的AI驱动的代码编辑器爱不释手&#xff0c;那你大概…...

外包人员考勤管理系统技术痛点与轻量化解决方案:栎偲考勤神器实测解析

在外包场景中&#xff0c;考勤管理一直是企业IT部门和产品负责人的难题——跨地域协作、复杂班制&#xff08;如驻场轮班、外勤打卡&#xff09;、数据孤岛等问题&#xff0c;传统Excel或重型HR系统往往难以应对。本文结合实测体验&#xff0c;拆解外包人员考勤管理系统的技术瓶…...

Windows 11 24H2中近期被披露了一个高危本地权限提升漏洞

导语&#xff1a;一个普通用户&#xff0c;无需任何特殊权限&#xff0c;只需在锁屏界面上触发一次竞争条件&#xff0c;就能获得系统的最高控制权——这正是CVE-2026-24291&#xff08;代号RegPwn&#xff09;所实现的效果。2026年3月&#xff0c;这个潜伏在Windows辅助功能AT…...

逆变器双环控制器与下垂控制模块:原理、设计与MATLAB实现

逆变器双环控制器与下垂控制模块:原理、设计与MATLAB实现 摘要 随着分布式发电和微电网技术的快速发展,逆变器作为连接分布式电源与电网的关键接口设备,其控制策略直接影响系统的稳定性和电能质量。本文系统阐述了逆变器双环控制器与下垂控制模块的理论基础、设计方法和工…...

从Nano-SIM标准之争看硬件设计中的兼容性与话语权博弈

1. 从“大卡”到“纳米”&#xff1a;SIM卡演进史与产业博弈如果你在2012年前后关注过手机行业&#xff0c;一定会对那场关于“SIM卡到底该做多小”的争论记忆犹新。那不是一个简单的技术尺寸问题&#xff0c;而是一场牵涉到苹果、摩托罗拉、RIM&#xff08;黑莓&#xff09;和…...

StreamFX实战进阶:如何解决OBS直播画面效果单一的深度指南

StreamFX实战进阶&#xff1a;如何解决OBS直播画面效果单一的深度指南 【免费下载链接】obs-StreamFX StreamFX is a plugin for OBS Studio which adds many new effects, filters, sources, transitions and encoders! Be it 3D Transform, Blur, complex Masking, or even c…...

如何利用社区清单选择优质主机:从概念到实战的完整指南

1. 项目概述&#xff1a;为什么我们需要一份“优质主机”清单&#xff1f;在数字世界安家落户&#xff0c;无论是搭建个人博客、部署一个实验性的Web应用&#xff0c;还是运营一个初创公司的在线业务&#xff0c;第一步总是绕不开一个最基础也最让人头疼的问题&#xff1a;选择…...

实时面试副驾驶:基于AI的隐形辅助工具设计与实战

1. 项目概述&#xff1a;实时面试副驾驶 最近在准备面试的朋友&#xff0c;或者经常需要参加线上会议、远程答辩的同学&#xff0c;有没有遇到过这样的场景&#xff1a;面试官抛出一个复杂的技术问题&#xff0c;你大脑瞬间一片空白&#xff0c;或者对方语速太快&#xff0c;你…...

linux学习进展 mysql数据库

前面我们已经掌握了Linux网络编程的核心&#xff1a;TCP/UDP协议、Socket编程、线程池&#xff08;半同步半异步模型&#xff09;&#xff0c;也实现了极简HTTP服务器。但实际的网络程序中&#xff0c;我们需要持久化存储数据——比如用户信息、接口请求记录、业务数据等&#…...