Airflow是基于Python的ETL和任務(wù)調(diào)度的工具
要求
當(dāng)前最新版是Airflow 2.3.0, 需要:
Python: 3.7, 3.8, 3.9(不建議用3.10)
-
Databases:
PostgreSQL: 10, 11, 12, 13 (需要安裝postgres-devel支持插件)
MySQL: 5.7(不建議用), 8
SQLite: 3.15.0+(可在單機(jī)開(kāi)發(fā)測(cè)試用讨永,不建議上生產(chǎn))
MSSQL(Experimental): 2017, 2019 (不建議用)
Kubernetes: 1.20.2 1.21.1 1.22.0, 1.23.0
安裝
先激活目標(biāo)python虛擬環(huán)境(以python3.7為例)耽梅,再執(zhí)行以下命令(除非希望安裝在base環(huán)境)
pip install "apache-airflow==2.3.0" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.3.0/constraints-3.7.txt"
若要為不同版本python安裝,以上命令把3.7替換成相應(yīng)的支持的版本即可
數(shù)據(jù)庫(kù)初始化
airflow standalone # all-in-one service使用默認(rèn)的sqlite3
#或者
airflow initdb
訪問(wèn)web界面
# 啟動(dòng) web 服務(wù)器捍壤,默認(rèn)端口是 8080
airflow webserver -p 8080
瀏覽器使用 localhost:8080 就好了
啟動(dòng) scheduler 服務(wù)器
進(jìn)去web界面后可能會(huì)提示scheduler未啟動(dòng),運(yùn)行一下以下命令就好了
airflow scheduler
插件依賴(lài)
取決于環(huán)境要求,可能需要安裝額外的插件依賴(lài)闰挡,比如若要使用Postgres DB,需要安裝 postgres-devel
yum package. 具體不同環(huán)境下的extra和provider可查閱以下鏈接礁哄。