AirFlow安装和使用

张开发
2026/4/20 17:23:57 15 分钟阅读

分享文章

AirFlow安装和使用
一 从Docker Hub 拉取 Apache Airflow 镜像并上传至本地 Harbor#从 Docker Hub 拉取官方 Apache Airflow 镜像dockerpull apache/airflow:3.1.8-python3.12#为镜像打标签以匹配 Harbor 仓库格式(假设本地 Harbor 地址为 harbor.example.com)dockertag apache/airflow:3.1.8-python3.12 harbor.example.com/airflow/airflow:3.1.8-python3.12#登录本地 Harbor 仓库dockerlogin harbor.example.com#将打好标签的镜像推送到 Harbor (运行前需要现在本地Harbor仓库新建项目airflow)dockerpush harbor.example.com/airflow/airflow:3.1.8-python3.12二 下载和编辑docker-compose.yaml#从官网下载docker-compose.yamlcurl-LfOhttps://airflow.apache.org/docs/apache-airflow/3.1.8/docker-compose.yaml#创建所需目录mkdir-p./dags ./logs ./plugins ./config#改为使用本地docker harbor镜像image: harbor_ip:harbor_port/airflow/airflow:3.1.8-python3.12#获取当前的用户 ID并输出到环境变量echo-eAIRFLOW_UID$(id-u).env#将 AIRFLOW__CORE__LOAD_EXAMPLES 的值从 true 改为 false。#防止 Web UI 中出现大量的示例 DAG让你专注于自己的业务逻辑。AIRFLOW__CORE__LOAD_EXAMPLES:false#运行命令openssl rand -base64 42 生成一个强随机密钥配置在.evn文件中AIRFLOW__API_AUTH__JWT_SECRET生成的长随机字符串密钥#生成一个随机的 Fernet Key 并填入#AIRFLOW__CORE__FERNET_KEY 配置为空字符串后果非常严重Airflow 将无法启动或者启动后无法保存任何敏感信息python-cfrom cryptography.fernet import Fernet; print(Fernet.generate_key().decode())AIRFLOW__CORE__FERNET_KEY:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX#修改对外暴漏的端口为8086airflow-apiserver:: *airflow-common command: api-server ports: -8086:8080#修改config/airflow.cfg中的配置开启 Airflow 界面“测试连接”按钮test_connectionEnabled三 运行 AirFlow 容器#运行命令进行初始化最终会返回”airflow-init-1 exited with code 0“ 说明初始化成功dockercompose up airflow-initdocker-composedown#重新启动这次启动后airflow就能正式工作了dockercompose up-d#四 访问 AirFlow Web UI在浏览器中打开http://localhost:8086使用之前创建的管理员用户名和密码登录。参考资料【1】https://airflow.apache.org/docs/apache-airflow/stable/howto/docker-compose/index.html

更多文章