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的過程所以主要的部署就以下幾個參數

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM