如何部署一个健壮的 apache-airflow 调度系统

本文详细介绍了如何部署一个健壮的 Apache Airflow 调度系统,包括 Airflow 的守护进程(webserver, scheduler, worker, flower)及其协同工作原理,单节点和多节点(集群)部署的步骤。集群部署提供了高可用性和分布式处理能力,通过扩展 worker 节点和主节点,以及实现 Metastore 和消息队列的高可用,确保系统稳定运行。" 125090469,7330775,C++ Linux WebServer实现:数据库连接池与登录注册优化,"['后端开发', '数据库管理', 'C++编程', '服务器架构', '数据优化']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前介绍过的 apache-airflow 系列文章

任务调度神器 airflow 之初体验

airflow 安装,部署,填坑

airflow 配置 CeleryExecutor

介绍了如何安装、配置、及使用,接下来介绍如何在跨多个节点来安装部署 apache-airflow:
本文主要介绍以下几点:

  • airflow 的守护进程
  • airflow 单节点部署
  • airflow 多节点(集群)部署
  • airflow 集群部署的具体步骤

集群部署将为您的 apache-airflow 系统带来更多的计算能力和高可用性。

airflow 的守护进程

airflow 系统在运行时有许多守护进程,它们提供了 airflow 的全部功能。守护进程包括 Web服务器-webserver、调度程序-scheduler、执行单元-worker、消息队列监控工具-Flower等。下面是 apache-airflow 集群、高可用部署的主要守护进程。

webserver

webserver 是一个守护进程,它接受 HTTP 请求,允许你通过 Python Flask Web 应用程序与 airflow 进行交互,webserver 提供以下功能:

  • 中止、恢复、触发任务。
  • 监控正在运行的任务,断点续跑任务。
  • 执行 ad-hoc 命令或 SQL 语句来查询任务的状态,日志等详细信息。
  • 配置连接,包括不限于数据库、ssh 的连接等。

webserver 守护进程使用 gunicorn 服务器(相当于 java 中的 tomcat )处理并发请求,可通过修改{AIRFLOW_HOME}/airflow.cfg文件中 workers 的值来控制处理并发请求的进程数。
例如:

workers = 4 #表示开启4个gunicorn worker(进程)处理web请求

启动 webserver 守护进程:

$ airfow webserver -D
scheduler

scheduler 是一个守护进程,它周期性地轮询任务的调度计划,以确定是否触发任务执行。
启动的 scheduler 守护进程:

$ airfow scheduler -D 
worker

worker 是一个守护进程,它启动 1 个或多个 Celery 的任务队列,负责执行具体 的 DAG 任务。

当设置 airflow 的 executors 设置为 CeleryExecutor 时才需要开启 worker 守护进程。推荐你在生产环境使用 CeleryExecutor :

executor = CeleryExecutor

启动一个 worker守护进程,默认的队列名为 default:

$ airfow worker -D 
flower

flower 是一个守护进程,用于是监控 celery 消息队列。启动守护进程命令如下:

$ airflow flower -D

默认的端口为 5555,您可以在浏览器地址栏中输入 “http://hostip:5555<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值