airflow的集群部署

如果你是在python的虚拟环境部署可以参考这篇文章

       因为我是集群的复制,所以我从原来集群上复制了虚拟环境,上传到新的hadoop01 机器  airflow_venv.tar.gz就是集群的虚拟环境,需要上传到每一台机器解压。因为这个虚拟环境是之前集群正在使用的,所以各种包都是很齐全的不会出现包不存在的现象。

      如何确定要部署的airflow的家目录,在部署之前先配置airflow的家目录

[admin@test-hadoop01 ~]$ vim ~/.bash_profile 

  export AIRFLOW_HOME=/home/admin/program/airflow

source  ~/.bash_profile #一定不要忘

 

或者干脆直接执行

[admin@test-hadoop01 ~]$ export AIRFLOW_HOME=/home/admin/program/airflow

 

然后初始化(因为我们是在虚拟环境进行的所以首先要进入虚拟环境,前提是你的airflow已经安装)

[admin@test-hadoop01 airflow_venv]$ pwd
/home/admin/program/airflow_venv
[admin@test-hadoop01 airflow_venv]$ source bin/activate
(airflow_venv) [admin@test-hadoop01 airflow_venv]$ airflow initdb 

如果最后出现done那么就是成功的,否则就是失败,具体原因一般就是缺少各种包,这个过程需要你自己克服

初始化完成以后

airflow这个目录就会出现在你预先设置的家目录下

这个时候你需要进行最终要的配置工作

cd  $AIRFLOW_HOME

$vim airflow.cfg

(这是一个很简单的过程,我看网上有很多部署感觉好难,可能是我的环境比较完整所以部署过程会方便很多)

我部署的时候的主要报错就是连接mysql的过程所以主要的部署就以下几个参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sql_alchemy_conn  数据库连接方式
 
broker_url   队列的存储
 
result_backend  状态的存储
 
sql_alchemy_conn = mysql+mysqldb://airflow:Caocao1818.cn@test-hadoop01:3306/airflow
 
broker_url = sqla+mysql://airflow:Caocao1818.cn@test-hadoop01:3306/airflow
 
result_backend = db+mysql://airflow:Caocao1818.cn@test-hadoop01:3306/airflow
 
values的构成是airflow:Caocao1818.cn@test-hadoop01:3306/airflow
 
第一个airflow是用户名
 
Caocao1818.cn是密码
 
test-hadoop01mysql所在库的机器名
 
airflow是mysql中的库名
 
airflow的用户名和airflow的库名都需要你自己提前创建

这三个部署完基本上能保证你的airflow的web能启动了

下面给你一个web的启动脚本

#!/bin/bash
 source /home/admin/program/airflow_venv/bin/activate  #启动进入虚拟环境
 export AIRFLOW_HOME=/home/admin/program/airflow

确定家目录 exec /home/admin/program/airflow_venv/bin/airflow webserver 执行web命令

启动成功以后启动schedule

#!/bin/bash
source /home/admin/.bash_profile
source /home/admin/program/airflow_venv/bin/activate 
export AIRFLOW_HOME=/home/admin/program/airflow
 exec /home/admin/program/airflow_venv/bin/airflow scheduler

最后启动worker

#!/bin/bash
source /home/admin/.bash_profile
source /home/admin/program/airflow_venv/bin/activate 
export AIRFLOW_HOME=/home/admin/program/airflow
exec /home/admin/program/airflow_venv/bin/airflow worker

启动到这你就成功一半了。

如果你有其他机器需要启动worker那么你需要把刚刚这个主节点的airflow.cfg   sz下来然后上传到其他节点的airflow路下  如果你不知道在哪,用find -name airflow命令搜索一下

然后执行 启动worker的脚本

#!/bin/bash
source /home/admin/.bash_profile
source /home/admin/program/airflow_venv/bin/activate 
export AIRFLOW_HOME=/home/admin/program/airflow
exec /home/admin/program/airflow_venv/bin/airflow worker

如果以上步骤都执行完毕,那么部署完成了,恭喜啦!!!!!

 airflow的参数大全简介:

https://www.cnblogs.com/skyrim/p/7456166.html

posted @   任重而道远的小蜗牛  阅读(2706)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示