国产91在线无码_少妇人妻无码高清_91人妻中文字幕无码专区在线_国产福利在线播放_免费 无码 国产成年视频网站

強(qiáng)大的Airflow介紹及其手把手安裝操作步驟(強(qiáng)大的airflow介紹及其手把手安裝操作步驟)

一、先介紹一下 Airflow

Airflow是一個可編程,調(diào)度和監(jiān)控的工作流平臺,基于有向無環(huán)圖(DAG),airflow可以定義一組有依賴的任務(wù),按照依賴依次執(zhí)行。airflow提供了豐富的命令行工具用于系統(tǒng)管控,而其web管理界面同樣也可以方便的管控調(diào)度任務(wù),并且對任務(wù)運(yùn)行狀態(tài)進(jìn)行實時監(jiān)控,方便了系統(tǒng)的運(yùn)維和管理。

雖然Airflow的主要功能宗旨是數(shù)據(jù)工程和數(shù)據(jù)科學(xué)領(lǐng)域,但也可以根據(jù)需要將其擴(kuò)展到業(yè)務(wù)流程審批等其他應(yīng)用場景中。如:可以創(chuàng)建一個DAG(有向無環(huán)圖),并將每個節(jié)點(diǎn)定義為審批步驟。當(dāng)遞交一個待審批的請求時,Airflow會按照您預(yù)先定義的順序、時間間隔或其他條件來觸發(fā)每個節(jié)點(diǎn)。該過程中,可以在Web UI上查看每個節(jié)點(diǎn)的狀態(tài),并發(fā)送電子郵件或其他通知來提醒相關(guān)用戶進(jìn)行審批或操作。另外,通過插件或自定義代碼,還可以將Airflow與其他系統(tǒng)集成,從而實現(xiàn)更復(fù)雜的流程,例如自動化生成文件或自動化處理其它系統(tǒng)的數(shù)據(jù)。

二、主要功能包括以下方面:

1、DAG:通過python腳本描述任務(wù)依賴關(guān)系,形成有向無環(huán)圖(DAG),將任務(wù)和依賴關(guān)系組織起來。您可以使用Airflow內(nèi)置的Python庫或者自己編寫Python代碼來創(chuàng)建DAG定義。

2、運(yùn)行器(Executor):根據(jù)任務(wù)的類型和復(fù)雜程度,您可以選擇不同的運(yùn)行器來執(zhí)行。Airflow提供了四種運(yùn)行器:Sequential(順序)、Local(本地)、Celery和Dask。這些運(yùn)行器可以擴(kuò)展至超過10萬個任務(wù),同時保持良好的性能表現(xiàn)。

3、任務(wù)調(diào)度:Airflow使用第三方插件-Beat Scheduler來安排和執(zhí)行任務(wù)。該插件允許預(yù)定、執(zhí)行、監(jiān)控和重新執(zhí)行DAG組成的工作流中的任務(wù)。

4、連接器(Connections):Airflow支持許多第三方連接器,可用于與各種數(shù)據(jù)源進(jìn)行交互,例如AWS S3、Azure Blob Storage、Postgres、MySQL、Redis等等。您可以輕松地將連接器配置到Airflow系統(tǒng)中,并通過Python代碼來操作外部系統(tǒng),以便在Airflow中基于數(shù)據(jù)流建立一個工作流。

5、觸發(fā)器(Triggers): Airflow包含一組強(qiáng)大的觸發(fā)器機(jī)制,可以允許您設(shè)置依賴放寬的級別。例如,如果您希望等待另一個DAG完成或在特定條件下才啟動任務(wù),Airflow可以提供靈活的觸發(fā)器工具。

6、任務(wù)狀態(tài)監(jiān)控:Airflow捕獲運(yùn)行時日志記錄,并將其存儲到關(guān)系數(shù)據(jù)庫中。您可以使用命令行界面或Web UI來輕松查看日志和監(jiān)控進(jìn)度,以及重新啟動失敗的任務(wù)或重新安排錯過的任務(wù)。

7、擴(kuò)展功能:Airflow擁有豐富的API接口,您可以使用REST API進(jìn)行管理、監(jiān)視和調(diào)用任務(wù)。還有許多擴(kuò)展插件可用于實現(xiàn)更高級的功能,例如Jupyter Notebooks支持等。

8、Airflow的主要功能是幫助數(shù)據(jù)工程師和數(shù)據(jù)科學(xué)家通過代碼來組織復(fù)雜的數(shù)據(jù)管道,以及管理和監(jiān)控這些管道中的任務(wù)和依賴項

三、安裝步驟:

1、更新包列表

sudo apt update

2、更新已安裝的包

sudo apt upgrade

3、python設(shè)定

安裝python3.8

sudo apt-get install python3.8

sudo apt-get install python3-pip python3-venv

刪除原來python依賴

sudo rm /usr/bin/python3

更換默認(rèn)python3 的版本為3.8

sudo ln -s /usr/bin/python3.8 /usr/bin/python3

4、安裝 python 虛擬環(huán)境

mkdir /opt/airflow_venv

sudo chown -R ubuntu.ubuntu /opt/airflow_venv

python3 -m venv airflow_venv

如果一直無法創(chuàng)建虛擬環(huán)境需要安裝python3.8-venv

sudo apt-get install python3.8-venv

激活虛擬環(huán)境

source /opt/airflow_venv/bin/activate

5、為了確保Airflow能夠找到必要的文件和依賴項,請運(yùn)行以下命令以設(shè)置AIRFLOW_HOME環(huán)境變量:

export AIRFLOW_HOME=/opt/airflow

同時最好能將其添加到 ~/.bashrc 文件中,以便永久保存這些設(shè)置。

sudo pico ~/.bashrc

在空行或者末尾添加

export AIRFLOW_HOME=/opt/airflow

然后保存退出

確認(rèn)環(huán)境變量是否已成功設(shè)置。需要關(guān)閉當(dāng)前窗口再打開運(yùn)行以下命令:

echo $AIRFLOW_HOME

6、安裝airflow

pip3 install apache-airflow -i https://pypi.tuna.tsinghua.edu.cn/simple

通過pip安裝的可以,通過pip show apache-airflow來查看安裝路徑

7、初始化數(shù)據(jù)庫【如果不更換數(shù)據(jù)庫,就可以直接初始化】

airflow db init


8、官方建議更換數(shù)據(jù)庫,現(xiàn)改為mysql

8.1、安裝

sudo apt-get update #更新包

sudo apt install mysql-server-5.7

查看mysql的版本:mysql -V

8.2、設(shè)置mysql密碼

mysql -u root -p

剛安裝后是沒有密碼的,可直接回車進(jìn)入

CREATE USER 'airflow'@'%' IDENTIFIED BY 'qw****21';

需要對用戶進(jìn)行授權(quán)

GRANT all ON *.* TO 'airflow'@'%';

退出sql,使密碼生效

sudo mysql_secure_installation

同時為了能遠(yuǎn)程訪問,需要修改

打開MySQL配置文件my.cnf,并找到bind-address選項。這通常位于/etc/mysql/mysql.conf.d/mysqld.cnf文件中

#bind-address = 127.0.0.1

bind-address = 0.0.0.0

8.3、重啟mysql

sudo service mysql restart

8.4、安裝mysql驅(qū)動

sudo apt install -y mysql-client

sudo apt-get install libmysqlclient-dev

sudo apt install libssl-dev

sudo apt install libcrypto -dev

sudo apt install libmysqlclient-dev

pip install mysqlclient

一直報#include "Python.h" ^~~~~~~~~~ compilation terminated. error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1,發(fā)現(xiàn)安裝了sudo apt-get install python3-dev,安裝了python3.8-dev才能解決

sudo apt-get install python3.8-dev

pip3 install 'apache-airflow[mysql]'

修改airflow的數(shù)據(jù)連接

pico /opt/airflow/airflow.cfg

找到以下位置,把原來的sql_alchemy_conn注釋,然后添加新連接

[database]

#sql_alchemy_conn = sqlite:////opt/airflow/airflow.db

sql_alchemy_conn=mysql://username:mypassword@localhost/airflow_db


8.5、初始化數(shù)據(jù)庫

airflow db init

8.6、創(chuàng)建用戶

airflow users create –username 賬號 –firstname 姓 –lastname 名字 –role Admin –email asd@xxx.com

9、啟動airflow

source /opt/airflow_venv/bin/activate

airflow webserver -p 8080 -D

10、啟動調(diào)度程序

airflow scheduler -D

加參數(shù)D,是守護(hù)進(jìn)程運(yùn)行,不占用窗體

強(qiáng)大的Airflow介紹及其手把手安裝操作步驟(強(qiáng)大的airflow介紹及其手把手安裝操作步驟)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。

(0)
上一篇 2024年5月16日 下午2:16
下一篇 2024年5月16日 下午2:28

相關(guān)推薦