在 macOS 上搭建 Apache Airflow 开发环境可以通过以下步骤完成。我们将使用 pip
来安装 Airflow,并设置一个简单的开发环境。
1. 安装依赖
确保已经安装了 Homebrew 和 Python 3。如果尚未安装,可以通过以下命令进行安装:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python
2. 创建虚拟环境
使用 venv
创建一个新的虚拟环境:
python3 -m venv airflow_venv
source airflow_venv/bin/activate
3. 设置 Airflow
3.1. 安装 Apache Airflow
Airflow 的安装比较特殊,因为它需要特定的版本和依赖。可以使用以下命令安装 Airflow:
# 设置 Airflow 的版本和其他选项
export AIRFLOW_VERSION=2.7.2
export PYTHON_VERSION="$(python --version | cut -d " " -f 2 | cut -d "." -f 1-2)"
export CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-3.8.txt"# 安装 Airflow
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"
请根据需要调整 AIRFLOW_VERSION
变量的值。
3.2. 初始化数据库
Airflow 支持多种数据库,默认使用 SQLite。可以运行以下命令来初始化数据库:
airflow db init
4. 创建用户
在 Airflow 2.x 中,需要创建一个用户来进行 Web 界面的访问:
airflow users create \--username admin \--password admin \--firstname Admin \--lastname User \--role Admin \--email admin@example.com
5. 启动 Airflow
5.1. 启动 Web 服务器
运行以下命令启动 Airflow 的 web 服务器:
airflow webserver --port 8080
5.2. 启动调度器
在另一个终端窗口中(确保仍然在虚拟环境中),运行调度器:
airflow scheduler
6. 访问 Airflow Web 界面
打开浏览器,访问 http://localhost:8080
,使用在创建用户时设置的用户名和密码登录。
7. 创建示例 DAG
可以在 dags
目录中创建的 DAG 文件。例如,创建一个简单的 DAG 文件 example_dag.py
:
# airflow/dags/example_dag.pyfrom airflow import DAG
from airflow.operators.dummy import DummyOperator
from datetime import datetimedefault_args = {'owner': 'airflow','start_date': datetime(2023, 1, 1),
}with DAG('example_dag', default_args=default_args, schedule_interval='@daily') as dag:start = DummyOperator(task_id='start')end = DummyOperator(task_id='end')start >> end
将该文件放在 Airflow 的 dags
目录中,通常位于 ~/airflow/dags
。
8. 验证 DAG
在 Airflow Web 界面中,应该能够看到新创建的 DAG,并可以手动触发它。