史上最完整的AirFlow2.1.2版本安装教程

hello,大家好,我是阿周,上周我们讲解了AirFlow的一些基本概念,请看文章:学会AirFlow调度工作流平台,让你告别加班,老板还会升值加薪,但是只知道理论知识是不行的,所以接下来我将带领大家一块安装部署,通过实战学会airflow。

1、Anaconda环境准备

由于Airflow2.1.2版本依赖于python3高阶版本,但是服务器中一般默认python2.7.5版本,如下图:

史上最完整的AirFlow2.1.2版本安装教程

所以,我们直接通过部署miniconda,创建虚拟python3环境就可以满足airflow的要求。

1.1、 下载miniconda版本

yum install -y wget
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.s

史上最完整的AirFlow2.1.2版本安装教程_第1张图片

史上最完整的AirFlow2.1.2版本安装教程

1.2 安装 minicopnda

直接在服务器中安装下载的miniconda

sh Miniconda3-latest-Linux-x86_64.sh

1.3、 一直按 enter 键,然后输入 yes,最后输入n

1.4 配置conda环境变量

1.4.1 配置conda环境变量

vi /etc/profile

史上最完整的AirFlow2.1.2版本安装教程

#刷新配置
source /etc/profile

1.5、 配置conda 镜像源

conda config --set show_channel_urls yes
vi  ~/.condarc
##添加下面内容
channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - defaults
show_channel_urls: true

1.6、 安装jupyter (miniconda3默认没有jupyter ,完整版的Anaconda3有jupyter,所以根据版本忽略)

pip install jupyter

1.7、 配置jupyter

""" 第一步 生成配置文件 """
jupyter notebook --generate-config --allow-root     //配置文件生成在:/root/.jupyter/jupyter_notebook_config.py
""" 第二步 生成密码 """
jupyter notebook password       //密码设置的是 123456  自己设置   文件生成在 /root/.jupyter/jupyter_notebook_config.json
""" 第三步 编辑/root/.jupyter/jupyter_notebook_config.py文件 """
vim  /root/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '192.168.244.161'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8888
c.NotebookApp.password = 'argon2:$argon2id$v=19$m=10240,t=10,p=8$Z4FzhnirRGrPwhwg2oWa9A$b5KuKRMr9l+zyK2I0W6KCA'
 //该密码在上面有生成

史上最完整的AirFlow2.1.2版本安装教程_第2张图片

史上最完整的AirFlow2.1.2版本安装教程

1.8、关闭防火墙

systemctl stop firewall

2、Mysql数据库安装

在上面文章讲过,AirFlow只是一个调度平台,他的存储需要依赖于外部系统,官网建议使用Mysql作为存储,所以下面在服务器中安装mysql。

依赖包提取方式:关注微信公众号:3分钟秒懂大数据,回复:数据库rpm包,即可免费获取下面截图的6个rpm包

上传集群截图如下:

史上最完整的AirFlow2.1.2版本安装教程_第3张图片

2.1 查看自己的集群中是否安装mysql数据库

 rpm -qa | grep mysql

这个命令就会查看该操作系统上是否已经安装了mysql数据库

2.2 若安装,通过 remove 卸载

yum -y remove  mysql

2.3 依次安装6个rpm包 安装命令如下:

rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm --nodeps --force


rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm --nodeps --force


rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm --nodeps --force


rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm --nodeps --force


rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm --nodeps --force


rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm --nodeps --force

2.4 启动mysql,并设置开机自启动

systemctl start mysqld
systemctl enable mysqld

2.5 安装成功后 首先将数据库设置成无密码状态,需要修改配置

 vi /etc/my.cnf

添加 skip-grant-tables 可保证为无密码状态(题外话 如果想要左边有行号 输入 :set nu 就可以显示 )

skip-grant-tables

史上最完整的AirFlow2.1.2版本安装教程_第4张图片

2.6 重启mysql服务器,保证生效

systemctl restart mysqld

2.7 进入数据库,按enter键进入

mysql -u root -p

史上最完整的AirFlow2.1.2版本安装教程_第5张图片

2.8 选择数据库

use mysql;

史上最完整的AirFlow2.1.2版本安装教程_第6张图片

2.9 修改密码为 123456

update user set authentication_string=password("123456") where user='root';

史上最完整的AirFlow2.1.2版本安装教程_第7张图片

2.10 刷新,并退出

flush privileges;
quit;

史上最完整的AirFlow2.1.2版本安装教程_第8张图片

2.11 重新进入数据库 ,设置密码,修改配置

mysql -u root -p   密码123456

2.12 选择数据库

use mysql;

use mysql; 会报错, 说让你重新设置密码.执行下面这一步,设置密码:

set password = PASSWORD('123456');

2.13 更新配置,刷新,退出

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
quit;

2.14 再次登录数据库,创建airflow数据库

mysql -u root -p  123456 
use mysql;
create database airflow default character set = 'utf8';

史上最完整的AirFlow2.1.2版本安装教程_第9张图片

2.15 对mysql 数据库赋权,任何服务器都可以连接它,执行下面几步操作

select host from user where user = 'root';
update user set host='%' where user = 'root'; 
set global explicit_defaults_for_timestamp =1;
flush privileges; 
quit;

2.16 设置允许外网访问当前的mysql

2.16.1 上面安装数据库前关闭了防火墙,需要先打开防火墙

systemctl start firewalld
systemctl status firewalld

2.16.2 目前防火墙是否对外开发了3306端口

firewall-cmd --list-all

史上最完整的AirFlow2.1.2版本安装教程_第10张图片

2.16.3 查看3306端口是否开放

firewall-cmd --query-port=3306/tcp

史上最完整的AirFlow2.1.2版本安装教程

no 表示没有开放

2.16.4 开放3306端口

firewall-cmd --permanent --add-port=3306/tcp

史上最完整的AirFlow2.1.2版本安装教程

2.16.5 重启防火墙

service firewalld restart

2.16.6 再次.查看3306端口是否开放

firewall-cmd --query-port=3306/tcp

2.16.7 查看目前防火墙

firewall-cmd --list-all

史上最完整的AirFlow2.1.2版本安装教程_第11张图片

3、mysql-connector-java-5.1.39 上传整理

3.1、在对话框中都创建java目录

mkdir /usr/share/java

3.2上传jar包,百度云如下:

链接:
https://pan.baidu.com/s/1kbZ04-Ts6npSpCLCwiqrFA

提取码:c4hk

将mysql-connector-java-5.1.39.jar 上传到 /usr/share/java 目录下

3.3 修改jar名称

mv mysql-connector-java-5.1.39.jar   mysql-connector-java.jar

史上最完整的AirFlow2.1.2版本安装教程_第12张图片

4、创建AirFlow环境

由于上面我们已经安装好Miniconda,所以现在可以创建任意python版本的项目

4.1、 新建AirFlow项目 。使用python3.7.5

# 新建项目
conda create -n airflow python==3.7.5
#进入创建的airflow项目中
source activate airflow

史上最完整的AirFlow2.1.2版本安装教程

史上最完整的AirFlow2.1.2版本安装教程_第13张图片

4.2、安装airflow依赖

pip install apache-airflow
pip install apache-airflow[mysql]

4.3、生成airflow映射目录

airflow -h

史上最完整的AirFlow2.1.2版本安装教程

史上最完整的AirFlow2.1.2版本安装教程_第14张图片

4.4、 进入airflow目录中,修改airflow.cfg配置

#配置连接mysql   30行
sql_alchemy_conn = mysql://root:[email protected]:3306/airflow

#配置登录ip和端口号  460行
web_server_host = 192.168.244.182

#设置airflow用户名和密码
#在[webserver]下面配置  447行
authenticate = True
auth_backend = airflow.contrib.auth.backends.password_auth

4.5、 执行命令,设置airflow登录页面用户名和密码

#用户名:admin
#邮箱 [email protected]
#密码:admin
airflow users create  --lastname user --firstname admin --username admin --email [email protected] --role Admin --password admin

4.6、 初始化airflow 数据库

airflow db init

史上最完整的AirFlow2.1.2版本安装教程

4.7关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

4.8、 启动airflow集群

airflow webserver --port 8080

史上最完整的AirFlow2.1.2版本安装教程_第15张图片

4.9、 输入用户名admin,密码:admin

史上最完整的AirFlow2.1.2版本安装教程_第16张图片

史上最完整的AirFlow2.1.2版本安装教程_第17张图片

为回馈广大计算机爱好者,本博主专门整理了关于Java、大数据、算法、前端、人工智能、操作系统、网络等所学知识的书籍,如果看到此博文的小伙伴们,觉得对你有帮助,请关注微信公众号:3分钟秒懂大数据,回复:福利。就快速领取吧!

史上最完整的AirFlow2.1.2版本安装教程_第18张图片

你可能感兴趣的:(CDH,airflow,airflow2.1.2,airflow安装教程)