欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > ubuntu 安装 apache-airflow 教程

ubuntu 安装 apache-airflow 教程

2025/6/2 7:41:43 来源:https://blog.csdn.net/cz285933169/article/details/144294335  浏览:    关键词:ubuntu 安装 apache-airflow 教程

ubuntu 安装 apache-airflow 教程

https://files.mdnice.com/user/70526/c97a9028-a3d2-4d20-8b27-a37ef074ed21.png

安装 apache-airflow

# pip 安装
pip install apache-airflow# 版本验证
airflow version# 初始数据库和建立管理账号
airflow db initairflow users create --username admin --firstname zhao --lastname chen --role Admin --email chenzhaoplus@163.com# 输入密码
Password: 111111# 后台起动 airflow 排程器
airflow scheduler -D# 后台起动 airflow 服务器
# 8080 端口容易冲突,可以指定其他的端口,如18080
airflow webserver -p 18080 -D# 杀进程
ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -9

启动/停止脚本

首先进入 conda环境( conda activate your_env_name ),再执行以下脚本

#!/bin/bashcase $1 instart)echo " --------启动 airflow-------"airflow webserver -p 18080 -Dairflow scheduler -D;;stop)echo " --------关闭 airflow-------"ps -ef|egrep 'scheduler|airflow-webserver'|grep -v grep|awk '{print $2}'|xargs kill -15;;*)echo "未知命令: $1";;
esac

如果出现报错: 坏的解释器 或者其他非正常问题执行以下命令转换脚本文件编码

sed -i 's/\\r$//' airflow.sh

赋予文件权限

chmod +x airflow.sh

执行脚本命令,启动 airflow

conda activate <your_env_name>
airflow.sh start

https://files.mdnice.com/user/70526/c97a9028-a3d2-4d20-8b27-a37ef074ed21.png

执行脚本命令,关闭 airflow

airflow.sh stop
conda deactivate <your_env_name>

https://files.mdnice.com/user/70526/c97a9028-a3d2-4d20-8b27-a37ef074ed21.png

访问地址

http://127.0.0.1:18080/

https://files.mdnice.com/user/70526/c97a9028-a3d2-4d20-8b27-a37ef074ed21.png

数据库换成 MySQL

#安装mysql依赖
apt-get update
apt-get install pkg-config
apt-get install libmysqlclient-dev
# apt install libpython3-dev
apt install libevent-devpip install mysqlclient pymysql mysql# 修改mysql参数,配置[mysqld]部分
vi /etc/my.cnf
explicit_defaults_for_timestamp=1# 创建数据库用户,注意这里使用 utf8mb3,因为官网说了 utf8mb4 会有一些问题
CREATE DATABASE airflow_db CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci;
CREATE USER 'airflow_user' IDENTIFIED BY '<your_db_password>';
GRANT ALL PRIVILEGES ON airflow_db.* TO 'airflow_user';# 修改 airflow 配置文件
vi ~/airflow/airflow.cfg# 官网不推荐在开发中使用顺序执行器,会造成任务调度阻塞。
executor = LocalExecutorsql_alchemy_conn = mysql+mysqlconnector://airflow_user:123456@<your_db_url>:<your_db_port>/airflow_db?charset=utf8sql_engine_encoding = utf-8# 初始数据库和建立管理账号
airflow db initairflow users create --username admin --firstname <your_first_name> --lastname <your_last_name> --role Admin --email <your_email># 输入密码
Password: 111111

常用命令

# dags列表
airflow dags list# 任务列表, hello_airflow 是任务id
airflow tasks list tutorial
airflow tasks list tutorial --tree# 显示流程图
airflow dags show tutorial
# 保存流程图
airflow dags show tutorial --save ~/airflow/tutorial.png# 测试
airflow dags test tutorial
airflow tasks test tutorial print_date 2022-09-01

高级命令

# 手动触发
airflow dags trigger --exec-date <execution_date> <dag_id>
# 手动触发,带参数
airflow dags trigger --conf '{"conf1": "value1"}' --exec-date <execution_date> <dag_id># Backfill(回填)可以解决某种场景:用户创建了一个start_date为2024-11-01的DAG,每天导入当天的数据。
# 这个DAG只能导入从2024-11-01开始的数据。
# 如果用户希望导入2024年10月份的数据,就必须使用Backfill功能。
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作为数据库 https://blog.csdn.net/java31/article/details/121868003

Airflow从入门到实战(万字长文) https://blog.csdn.net/weixin_45417821/article/details/128696999

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词