说明
登录 Airflow 网页后,提示推荐使用 MySQL 数据库存储元信息,如下:
安装 MySQL
大数据环境中,在 Hive 部分已经安装 MySQL,这里不再讲解安装 MySQL,详见:hive3.1.x centos7安装部署mysql5.7.32(.tar.gz解压缩版)
提示: 该MySQL 在 hadoop1 服务器上
修改配置
初始化数据库时,表中时间字段是 空值 或 类似 0000-00-00 00:00:00
的数据,MySQL 默认不允许,所有报错如下:
Invalid default value for 'updated_at'
解决
修改下面配置
vim /etc/my.cnf
增加下面配置:
[mysqld]
explicit_defaults_for_timestamp = ON
输入 esc
,:wq
保存退出
重启 MySQL
service mysql restart
创建数据库
CREATE DATABASE airflow_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
安装 MySQL 驱动
Python 连接 MySQL,需要使用驱动,类似 java 连接 MySQL
(airflow) [root@hadoop3 ~]#
pip install mysql-connector-python -i https://pypi.tuna.tsinghua.edu.cn/simple
修改配置文件
(airflow) [root@hadoop3 ~]# vim airflow/airflow.cfg
将下面这行注销掉:
# sql_alchemy_conn = sqlite:////root/airflow/airflow.db
增加下面行:
sql_alchemy_conn = mysql+mysqlconnector://root:root@hadoop1:3306/airflow_db
执行 esc
,:wq
保存退出
初始化数据库
(airflow) [root@hadoop3 program]# airflow db init
看到下面信息,说明初始化完成:
Initialization done
创建用户
(airflow) [root@hadoop3 ~]# airflow users create \
--username admin \
--firstname admin \
--lastname admin \
--role Admin \
--email 65242847@qq.com
提示输入密码,如下:
Password:
输入密码:admin
,敲回车
提示确认输入密码,如下:
Repeat for confirmation:
输入密码:admin
,敲回车
提示下面信息,说明成功:
[2023-04-09 19:00:24,510] {manager.py:212} INFO - Added user admin
User "admin" created with role "Admin"
重新启动
[root@hadoop3 bin]# ./airflow.sh stop
[root@hadoop3 bin]# ./airflow.sh start
再次访问 web 网页,没有本文开头的提示信息,说明配置成功