Airflow Summit 2025 将于 10 月 07-09 日举行。立即注册可享早鸟票优惠!

快速入门

本快速入门指南将帮助您在本地机器上启动一个 Airflow 独立实例。

注意

成功安装需要 Python 3 环境。从 Airflow 2.7.0 开始,Airflow 支持 Python 3.9、3.10、3.11 和 3.12。

官方支持的安装方法包括 pipuv。这两个工具都为安装 Airflow 和管理依赖项提供了简化的工作流程。

虽然使用 poetrypip-tools 等其他工具也取得了一些成功,但它们与 pipuv 的工作流程不同——尤其是在约束文件与 requirements 文件管理方面。目前不支持通过 Poetrypip-tools 进行安装。

如果您希望使用这些工具安装 Airflow,应使用约束文件,并将其转换为您工具所需的适当格式和工作流程。

本指南将帮助您使用 uv 快速设置 Apache Airflow,uv 是一个用于管理 Python 环境和依赖项的快速且现代的工具。uv 使安装过程变得简单,并提供流畅的设置体验。

  1. 设置 Airflow Home (可选):

    Airflow 需要一个主目录,默认使用 ~/airflow,但如果您愿意,可以设置一个不同的位置。AIRFLOW_HOME 环境变量用于告知 Airflow 所需的位置。设置此环境变量的步骤应在安装 Airflow 之前完成,以便安装过程知道将必要文件存储在哪里。

    export AIRFLOW_HOME=~/airflow
    
  2. 使用 uv 安装 Airflow

    安装 uv: uv 安装指南

    使用 uv 创建虚拟环境,请参阅此处的文档: 使用 uv 创建和维护本地虚拟环境

  3. 使用约束文件安装 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}"
    
  4. 运行 Airflow Standalone

    airflow standalone 命令初始化数据库、创建用户并启动所有组件。

    airflow standalone
    
  5. 访问 Airflow UI

    在浏览器中访问 localhost:8080,并使用终端中显示的 admin 账户详情登录。在主页启用 example_bash_operator DAG。

运行这些命令后,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 启用时可用。

下一步是什么?

从这一点开始,您可以前往 教程 部分获取更多示例,或者如果您已准备好实践,可以前往 操作指南 部分。

此条目有帮助吗?