方案选型
airflow
Django+Celery+Flower
Django+Apscheduler
【参考】
https://cloud.tencent.com/developer/article/1988212
docker 安装
先要保证docker 的可用内存大小,最少4g 最好8g,查看方法
docker run --rm "debian:bullseye-slim" bash -c 'numfmt --to iec $(echo $(($(getconf _PHYS_PAGES) * $(getconf PAGE_SIZE))))'
下载compose 文件
curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.9.2/docker-compose.yaml'
上面默认的安装情况下。会使用root 来给./dags ./logs ./plugins ./config
·赋权的 ,如果不想使用root 我们要手动配置,经过测试必须要操作这一步。不然运行起来服务会报没权限。
mkdir -p ./dags ./logs ./plugins ./config
echo -e "AIRFLOW_UID=$(id -u)" > .env
除了设置用户。还有好多可以配置的选项。比如工程文件目录账户密码都可以通过上面环境变量的方式设置。详细的可以自己打开docker-compose.yaml 看
初始化
docker compose up airflow-init
运行
docker compose up
docker compose up -d
默认账户密码 airflow airflow
http://localhost:8080
#清理
docker compose down --volumes --rmi all
【官方文档】
https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html
、
airflow 框架
https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/overview.html
airflow 导入dags
一个dag就对于web ui上的一条airflow 任务
# 查看所有任务
airflow dags list
# 看不到我们的任务,八成是写的有问题
#error: Failed to load all files. For details, run `airflow dags list-import-errors`
)airflow dags list-import-errors