欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Airflow--基于conda的单机版安装过程

时间:2023-04-22
1.什么是airflow

Apache Airflow是一个开源的以编程方式编写、调度和监控工作流的平台。

工作流使用代码进行定义,让它们变得更加可维护、可版本化、可测试和协作性。

本文基于conda,讲解Airflow的单机版安装过程

git 地址
文档地址

2.安装 2.1.准备python虚拟环境

创建一个新的Python虚拟环境

conda create --name airflow_env python=3.9 -yconda activate airflow_env

因为服务器不能访问https://raw.githubusercontent.com,所以constraints.txt文件需要提前下载好并上传至服务器
本文使用的是:https://raw.githubusercontent.com/apache/airflow/constraints-2.2.3/constraints-no-providers-3.9.txt

注意:URL的格式是: https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt
根据实际情况,调整airflow及python的版本,调整后要确保在浏览器中能正常打开此URL

export AIRFLOW_HOME=~/airflowpip install "apache-airflow==2.2.3" --constraint ./constraints-no-providers-3.9.txt

2.2.Airflow初始化

airflow db initairflow users create --username admin --password admin --firstname zhang --lastname san --role Admin --email zhangsan@163.com

2.3.Airflow启动

默认情况下,webserver使用8080端口,如果被占用(使用lsof -i tcp:8080检查),则需要修改$AIRFLOW_HOME/airflow.cfg文件中的如下三项配置

endpoint_url = http://ip:8088web_server_port = 8088base_url = http://ip:8088

airflow webserver -Dairflow scheduler -D

成功启动后,打开airflow web界面如下:

3.其它 3.1.如何去除airflow的DAG 样例?

修改$AIRFLOW_HOME/airflow.cfg,将load_examples = True 修改为load_examples = False重置数据库 airflow db reset重新启动webserver 、scheduler 3.2.更改元数据数据库

不要在生产中使用SQLite作为元数据数据库——它应该只用于开发/测试

3.2.1.查看当前配置

查看当前元数据数据库的配置: airflow config get-value core sql_alchemy_conn

3.2.2.更改步骤

创建数据库、用户

## 创建数据库、用户CREATE DATAbase airflow CHARACTER SET utf8 COLLATE utf8_general_ci;create user 'airflow'@'%' identified by 'airflow';create user 'airflow'@'localhost' identified by 'airflow';GRANT ALL PRIVILEGES ON airflow.* TO 'airflow';flush privileges;

如果执行失败,则使用下面的语句 查看字符集、更改密码策略

show variables like 'character_set%';show variables like 'collation%'; set global validate_password_length=0; set global validate_password_policy=0; show variables like 'val%';

修改$AIRFLOW_HOME/airflow.cfg
sql_alchemy_conn = mysql+mysqldb://airflow:airflow@172.25.21.29:3306/airflow修改数据库配置:修改my.cnf,在 [mysqld] 部分添加:explicit_defaults_for_timestamp=1,注意:修改为要重启数据库安装mysqlclient pip install mysqlclient==2.1.0,注意报:OSError: mysql_config not found,请先安装mysql5.7.x的客户端即可。初始化数据库 airflow db init创建admin用户 airflow users create --username admin --password admin --firstname zhang --lastname san --role Admin --email zhangsan@163.com 3.3、修改Executor

修改$AIRFLOW_HOME/airflow.cfg,将executor = SequentialExecutor 修改为executor = LocalExecutor重新启动webserver 、scheduler 3.4、如何安装provider

参见: installing-and-upgrading-providers,示例如下:

安装mysql provider: pip install apache-airflow-providers-mysql==2.1.1安装jdbc provider: pip install apache-airflow-providers-jdbc==2.0.1安装http provider: pip install apache-airflow-providers-http==2.0.1

安装后,查看providers列表如下:

日志配置

参见如下文章:
Airflow Logs
airflow中log表详解

查看当前配置:airflow config list

参考

airflow-install
airflow local install
airflow production-deployment
airflow set-up-database
airflow lineage

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。