快速入門¶
本快速入門指南將幫助您在本地機器上啟動一個 Airflow 獨立例項。
注意
成功安裝需要 Python 3 環境。從 Airflow 2.7.0 開始,Airflow 支援 Python 3.9、3.10、3.11 和 3.12。
官方支援的安裝方法包括 pip 和 uv。這兩個工具都為安裝 Airflow 和管理依賴項提供了簡化的工作流程。
雖然使用 poetry 或 pip-tools 等其他工具也取得了一些成功,但它們與 pip 或 uv 的工作流程不同——尤其是在約束檔案與 requirements 檔案管理方面。目前不支援透過 Poetry 或 pip-tools 進行安裝。
如果您希望使用這些工具安裝 Airflow,應使用約束檔案,並將其轉換為您工具所需的適當格式和工作流程。
本指南將幫助您使用 uv 快速設定 Apache Airflow,uv 是一個用於管理 Python 環境和依賴項的快速且現代的工具。uv 使安裝過程變得簡單,並提供流暢的設定體驗。
設定 Airflow Home (可選):
Airflow 需要一個主目錄,預設使用
~/airflow,但如果您願意,可以設定一個不同的位置。AIRFLOW_HOME環境變數用於告知 Airflow 所需的位置。設定此環境變數的步驟應在安裝 Airflow 之前完成,以便安裝過程知道將必要檔案儲存在哪裡。export AIRFLOW_HOME=~/airflow
使用 uv 安裝 Airflow
安裝 uv: uv 安裝指南
使用
uv建立虛擬環境,請參閱此處的文件: 使用 uv 建立和維護本地虛擬環境使用約束檔案安裝 Airflow,該檔案根據我們傳遞的 URL 確定
AIRFLOW_VERSION=3.0.0 # Extract the version of Python you have installed. If you're currently using a Python version that is not supported by Airflow, you may want to set this manually. # See above for supported versions. PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')" CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt" # For example this would install 3.0.0 with python 3.9: https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.9.txt uv pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
執行 Airflow Standalone
airflow standalone命令初始化資料庫、建立使用者並啟動所有元件。airflow standalone訪問 Airflow UI
在瀏覽器中訪問
localhost:8080,並使用終端中顯示的 admin 賬戶詳情登入。在主頁啟用example_bash_operatorDAG。
執行這些命令後,Airflow 將建立 $AIRFLOW_HOME 資料夾,並建立帶有預設設定的“airflow.cfg”檔案,以便您快速開始。您可以使用環境變數覆蓋預設設定,請參閱 配置參考。您可以在 $AIRFLOW_HOME/airflow.cfg 中,或透過 UI 的 Admin->Configuration 選單檢查該檔案。如果由 systemd 啟動,webserver 的 PID 檔案將儲存在 $AIRFLOW_HOME/airflow-webserver.pid 或 /run/airflow/webserver.pid 中。
隨著您的成長並將 Airflow 部署到生產環境,您也會希望從此處使用的 standalone 命令轉向單獨執行各個元件。您可以在 生產部署 中瞭解更多資訊。
以下是一些將觸發幾個任務例項的命令。執行以下命令時,您應該能在 example_bash_operator DAG 中看到作業狀態的變化。
# run your first task instance
airflow tasks test example_bash_operator runme_0 2015-01-01
# run a backfill over 2 days
airflow backfill create --dag-id example_bash_operator \
--start-date 2015-01-01 \
--end-date 2015-01-02
如果您想手動執行 Airflow 的各個部分,而不是使用一體化的 standalone 命令,可以執行
airflow db migrate
airflow users create \
--username admin \
--firstname Peter \
--lastname Parker \
--role Admin \
--email spiderman@superhero.org
airflow api-server --port 8080
airflow scheduler
airflow dag-processor
airflow triggerer
注意
airflow users 命令僅在 Flask AppBuilder (FAB) auth manager 啟用時可用。