栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

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

1.什么是airflow

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

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

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

git 地址
文档地址

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

创建一个新的Python虚拟环境

conda create --name airflow_env python=3.9 -y
conda 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=~/airflow
pip install "apache-airflow==2.2.3" --constraint ./constraints-no-providers-3.9.txt
2.2.Airflow初始化
airflow db init

airflow 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 -D
airflow 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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744888.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号