Mac airflow 开发环境搭建

在 macOS 上搭建 Apache Airflow 开发环境可以通过以下步骤完成。我们将使用 pip 来安装 Airflow,并设置一个简单的开发环境。

1. 安装依赖

确保已经安装了 Homebrew 和 Python 3。如果尚未安装,可以通过以下命令进行安装:

bash 复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python

2. 创建虚拟环境

使用 venv 创建一个新的虚拟环境:

bash 复制代码
python3 -m venv airflow_venv
source airflow_venv/bin/activate

3. 设置 Airflow

3.1. 安装 Apache Airflow

Airflow 的安装比较特殊,因为它需要特定的版本和依赖。可以使用以下命令安装 Airflow:

bash 复制代码
# 设置 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。可以运行以下命令来初始化数据库:

bash 复制代码
airflow db init

4. 创建用户

在 Airflow 2.x 中,需要创建一个用户来进行 Web 界面的访问:

bash 复制代码
airflow users create \
    --username admin \
    --password admin \
    --firstname Admin \
    --lastname User \
    --role Admin \
    --email admin@example.com

5. 启动 Airflow

5.1. 启动 Web 服务器

运行以下命令启动 Airflow 的 web 服务器:

bash 复制代码
airflow webserver --port 8080
5.2. 启动调度器

在另一个终端窗口中(确保仍然在虚拟环境中),运行调度器:

bash 复制代码
airflow scheduler

6. 访问 Airflow Web 界面

打开浏览器,访问 http://localhost:8080 ,使用在创建用户时设置的用户名和密码登录。

7. 创建示例 DAG

可以在 dags 目录中创建的 DAG 文件。例如,创建一个简单的 DAG 文件 example_dag.py

python 复制代码
# airflow/dags/example_dag.py

from airflow import DAG
from airflow.operators.dummy import DummyOperator
from datetime import datetime

default_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,并可以手动触发它。
询问AI

相关推荐
fukai77221 小时前
优雅与极简:将你的屏幕变成复古翻页钟——Fliqlo for Mac 完全指南
macos
BianHuanShiZhe15 小时前
ios 26的tabbar 背景透明
macos·objective-c·cocoa
ai_xiaogui16 小时前
AIStarter跨平台完工:Win/Mac/Linux一键部署Stable Diffusion
linux·macos·stable diffusion·aistarter·kritaai·跨平台部署
Macbethad18 小时前
Typora 精通指南:掌握高效 Markdown 写作的艺术
前端·macos·前端框架
杨凯凡20 小时前
Docker环境搭建:Windows/macOS/Linux全平台教程
windows·macos·docker
马拉萨的春天20 小时前
iOS的事件响应链
macos·ios·cocoa
bl4ckpe4ch20 小时前
mac安装burpsuite专业版2025中文教程
macos·网络安全·抓包·burpsuite
2501_916008891 天前
iOS 跨平台开发实战指南,从框架选择到开心上架(Appuploader)跨系统免 Mac 发布全流程解析
android·macos·ios·小程序·uni-app·iphone·webview
心灵宝贝1 天前
MacX DVD Ripper Pro for Mac v6.8.2 安装教程|MacDVD转换软件怎么安装?
macos
嚴寒2 天前
我在 Mac 用一行脚本征服了 5TB NTFS:拒绝付费,彻底搞定免费方案
macos·mac