ubuntu 安装 apache-airflow 教程

[复制链接]
发表于 2025-12-13 05:45:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
ubuntu 安装 apache-airflow 教程


安装 apache-airflow

  1. # pip 安装
  2. pip install apache-airflow
  3. # 版本验证
  4. airflow version
  5. # 初始数据库和建立管理账号
  6. airflow db init
  7. airflow users create --username admin --firstname zhao --lastname chen --role Admin --email [email protected]
  8. # 输入密码
  9. Password: 111111
  10. # 后台起动 airflow 排程器
  11. airflow scheduler -D
  12. # 后台起动 airflow 服务器
  13. # 8080 端口容易冲突,可以指定其他的端口,如18080
  14. airflow webserver -p 18080 -D
  15. # 杀进程
  16. ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -9
复制代码

启动/克制脚本

起首进入 conda情况( conda activate your_env_name ),再实行以下脚本
  1. #!/bin/bash
  2. case $1 in
  3.         start)
  4.                 echo " --------启动 airflow-------"
  5.                 airflow webserver -p 18080 -D
  6.                 airflow scheduler -D
  7.                 ;;
  8.         stop)
  9.                 echo " --------关闭 airflow-------"
  10.                 ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -15
  11.                 ;;
  12.         *)
  13.                 echo "未知命令: $1"
  14.                 ;;
  15. esac
复制代码
假如出现报错: 坏的表明器 大概其他非正常标题实行以下下令转换脚本文件编码
  1. sed -i 's/\\r$//' airflow.sh
复制代码
赋予文件权限
  1. chmod +x airflow.sh
复制代码
实行脚本下令,启动 airflow
  1. conda activate <your_env_name>
  2. airflow.sh start
复制代码

实行脚本下令,关闭 airflow
  1. airflow.sh stop
  2. conda deactivate <your_env_name>
复制代码

访问地点

http://127.0.0.1:18080/

数据库换成 MySQL

  1. #安装mysql依赖
  2. apt-get update
  3. apt-get install pkg-config
  4. apt-get install libmysqlclient-dev
  5. # apt install libpython3-dev
  6. apt install libevent-dev
  7. pip install mysqlclient pymysql mysql
  8. # 修改mysql参数,配置[mysqld]部分
  9. vi /etc/my.cnf
  10. explicit_defaults_for_timestamp=1
  11. # 创建数据库用户,注意这里使用 utf8mb3,因为官网说了 utf8mb4 会有一些问题
  12. CREATE DATABASE airflow_db CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci;
  13. CREATE USER 'airflow_user' IDENTIFIED BY '<your_db_password>';
  14. GRANT ALL PRIVILEGES ON airflow_db.* TO 'airflow_user';
  15. # 修改 airflow 配置文件
  16. vi ~/airflow/airflow.cfg
  17. # 官网不推荐在开发中使用顺序执行器,会造成任务调度阻塞。
  18. executor = LocalExecutor
  19. sql_alchemy_conn = mysql+mysqlconnector://airflow_user:123456@<your_db_url>:<your_db_port>/airflow_db?charset=utf8
  20. sql_engine_encoding = utf-8
  21. # 初始数据库和建立管理账号
  22. airflow db init
  23. airflow users create --username admin --firstname <your_first_name> --lastname <your_last_name> --role Admin --email <your_email>
  24. # 输入密码
  25. Password: 111111
复制代码
常用下令

  1. # dags列表
  2. airflow dags list
  3. # 任务列表, hello_airflow 是任务id
  4. airflow tasks list tutorial
  5. airflow tasks list tutorial --tree
  6. # 显示流程图
  7. airflow dags show tutorial
  8. # 保存流程图
  9. airflow dags show tutorial --save ~/airflow/tutorial.png
  10. # 测试
  11. airflow dags test tutorial
  12. airflow tasks test tutorial print_date 2022-09-01
复制代码
高级下令

  1. # 手动触发
  2. airflow dags trigger --exec-date <execution_date> <dag_id>
  3. # 手动触发,带参数
  4. airflow dags trigger --conf '{"conf1": "value1"}' --exec-date <execution_date> <dag_id>
  5. # Backfill(回填)可以解决某种场景:用户创建了一个start_date为2024-11-01的DAG,每天导入当天的数据。
  6. # 这个DAG只能导入从2024-11-01开始的数据。
  7. # 如果用户希望导入2024年10月份的数据,就必须使用Backfill功能。
  8. airflow dags backfill --start-date <START_DATE> --end-date <END_DATE> <dag_id>
复制代码

参考

airflow官网 https://airflow.apache.org/docs/apache-airflow/2.10.2/
airflow安装及设置利用mysql作为数据库
Airflow从入门到实战(万字长文)
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表