ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AirFlow 1.10.11的安装部署

2021-09-09 23:31:17  阅读:349  来源: 互联网

标签:11 AirFlow 1.10 python airflow yum user install mariadb


1 AirFlow 介绍

参见官网

2 AirFlow 1.10.11的安装部署

2.1 安装依赖

  • Centos7.x
  • Python3.5或以上(本次采用3.6.6)
  • Mysql5.7.x
  • Apache-Airflow 1.10.11
  • 可访问外网

若是虚拟机等,安装前可备份或快照,以免安装失败,导致不可用

2.2 Python环境准备

Python-3.6.6.tgz

# 卸载 mariadb
rpm -qa | grep mariadb
mariadb-libs-5.5.65-1.el7.x86_64
mariadb-5.5.65-1.el7.x86_64
mariadb-devel-5.5.65-1.el7.x86_64
yum remove mariadb
yum remove mariadb-libs
# 安装依赖
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
yum install readline readline-devel -y
yum install gcc -y
yum install zlib* -y
yum install openssl openssl-devel -y
yum install sqlite-devel -y
yum install python-devel mysql-devel -y

# 提前到python官网下载好包
cd /opt/src
tar -zxvf Python-3.6.6.tgz
# 安装 python3 运行环境
cd Python-3.6.6/
# configure文件是一个可执行的脚本文件。如果配置了--prefix,安装后的所有
资源文件都会放在目录中
./configure --prefix=/usr/local/python3.6
make && make install
/usr/local/python3.6/bin/pip3 install virtualenv
# 启动 python3 环境
cd /usr/local/python3.6/bin/
./virtualenv env
. env/bin/activate
# 检查 python 版本
python -V

2.3 安装Airflow

2.3.1 环境变量

export AIRFLOW_HOME=/opt/app/servers/airflow
source /etc/profile

2.3.2 虚拟环境中安装

(env) [root@gcw2 bin]# pip install apache-airflow==1.10.11 -i https://pypi.douban.com/simple
pip install mysqlclient==1.4.6
airflow initdb

在执行 airflow initdb 命令时,如遇上如下报错:

ModuleNotFoundError: No module named
'sqlalchemy.ext.declarative.clsregistry'

这是由于 SQLAlchemy 模块版本低导致的错误。执行以下命令后,重新执行 airflow initdb 命令。

pip install SQLAlchemy==1.3.23

mysql数据库创建及用户权限

-- 创建数据库
SET GLOBAL explicit_defaults_for_timestamp = 1;
create database airflowgcw2;
-- 创建用户airflow,设置所有ip均可以访问
create user 'airflow'@'%' identified by 'xxx';
create user 'airflow'@'localhost' identified by 'xxx';
-- 用户授权,为新建的airflow用户授予Airflow库的所有权限
grant all on airflowgcw2.* to 'airflow'@'%';
flush privileges;

修改 $AIRFLOW_HOME/airflow.cfg:

# 约 75 行
sql_alchemy_conn = mysql://airflow:password@ip:port/airflowgcw2
# 重新执行
airflow initdb

2.4 密码模块

(env) [root@gcw2 airflow]# pip install apache-airflow[password]

修改 airflow.cfg 配置文件(第一行修改,第二行增加):

## 约 281 行
[webserver]
# 约 353行
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth

python中启动

输入python进入,然后执行下列

import airflow
from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
user = PasswordUser(models.User())
user.username = 'airflow'
user.email = 'xxx@xxx.com'
user.password = 'xxx'
session = settings.Session()
session.add(user)
session.commit()
session.close()
exit()

2.5 python3环境中启动

# 备注:要先进入python3的运行环境
cd /usr/local/python3.6/bin/
./virtualenv env
. env/bin/activate
# 退出虚拟环境命令
deactivate
# 启动scheduler调度器:
airflow scheduler -D
# 服务页面启动:
airflow webserver -D

2.6 初步成功

image-20210909231620387

2.7 配置

2021-09-09

标签:11,AirFlow,1.10,python,airflow,yum,user,install,mariadb
来源: https://www.cnblogs.com/gcwell/p/15249465.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有