airflow安装部署(python)

时间:2024-03-23 16:00:17

在线安装Airflow

组件版本:

Python 3.7.2

Apache airflow 1.10.1

Mysql 5.7.24

CentOs7.8

Python安装

Centos7中,Python默认是安装的,输入python 直接可以查看版本号,入下图

airflow安装部署(python)

 

注意: 如果本机安装了python2,尽量不要管它,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,

比如yum!不要动现有的python2环境!

  1. 安装python3依赖

命令:

yum install zlib* libffi-devel

yum install gcc

apt install libmysqlclient-dev

airflow安装部署(python)

 

  1. 下载python3.7.2安装包

命令:

wget  https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz

airflow安装部署(python)

 

注意:Centos7没有自带wget命令,如需要安装的则可以通过yum进行安装

命令:

yum -y install wget

也可以通过python官网(https://www.python.org/downloads/)下载安装包.

  1. 编译和安装python

命令:

tar xJvf Python-3.7.2.tar.xz

进入cd Python-3.7.2

airflow安装部署(python)

 

进入python根目录

命令:

./configure --prefix=/usr/local/sbin/python3

airflow安装部署(python)

 

编译:

make && make install

airflow安装部署(python)

 

  1. 建立软连接

系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7

airflow安装部署(python)

 

可以保持原有的软连接,不过之后的运行就需要改成python3。也可以删除,目前这里暂时保存,启用3.x版本则用python3。2.x版本则用python

命令:

ln -s /usr/local/sbin/python3/bin/python3 /usr/bin/python3

查看安装效果

airflow安装部署(python)

 

添加python环境变量

将/usr/local/sbin/python3 加入PATH      vi ~/.bash_profile

airflow安装部署(python)

 

生效命令:

source ~/.bash_profile

  1. 安装pip

验证pip是否自带安装

pip –version

airflow安装部署(python)

 

在线安装pip

wget https://bootstrap.pypa.io/get-pip.py

airflow安装部署(python)

 

注意:用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令:

python get-pip.py

python3 get-pip.py

问题异常:

airflow安装部署(python)

 

提醒版本过低openssl

需要升级

yum install openssl-devel -y 

需要对python ssl重新编译

命令:

进入python安装根目录

./configure --with-ssl

make

make install

再次进行关联

python3 get-pip.py

airflow安装部署(python)

 

查看版本

 pip -V

airflow安装部署(python)

 

Pip升级更新

python -m pip install --upgrade pip

  1. 安装Mysql

由于centos7自带安装、需先卸载

rpm -qa | grep mariadb

airflow安装部署(python)

 

rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64

开始安装mysql

下载mysql源

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

yum install -y mysql

yum install -y mysql-devel

安装mysql服务

yum install mysql-server

airflow安装部署(python)

 

启动mysql

systemctl start mysqld

查看运行状态

systemctl status mysqld

airflow安装部署(python)

 

获取临时密码

grep 'temporary password' /var/log/mysqld.log

airflow安装部署(python)

 

Mysql登陆之后会提醒

airflow安装部署(python)

 

需要设置参数validate_password_policy

set global validate_password_policy=0;

密码长度设置

set global validate_password_length=1;

再次执行修改密码就可以成功了

alter user 'root'@'localhost' identified by '***';

  1. 安装airflow

安装airflow

pip install apache-airflow

airflow安装部署(python)

 

设置环境变量

vi ~/.bash_profile最后添加

export AIRFLOW_HOME=/usr/local/airflow

export SLUGIFY_USES_TEXT_UNIDECODE=yes

 

设置mysql数据链接库

pip install apache-airflow[mysql]

创建mysql的airflow用户和数据库

CREATE USER airflow;

CREATE DATABASE airflow;

CREATE DATABASE celery_result_airflow;

赋予权限

GRANT all privileges on airflow.* TO 'airflow'@'%' IDENTIFIED BY 'airflow';

GRANT all privileges on celery_result_airflow.* TO 'airflow'@'%' IDENTIFIED BY 'airflow';
FLUSH PRIVILEGES;

初始化airflow数据库

命令:airflow initdb

 

airflow安装部署(python)

airflow安装部署(python)

 

注意: 初始化数据库过程中如碰到一下问题需执行一下命令

在mysql中执行命令

show global variables like '%timestamp%';

set global explicit_defaults_for_timestamp =1;

airflow安装部署(python)

 

开始进入正题

airflow服务启动命令:

airflow webserver

airflow安装部署(python)

 

启动调度程序命令:

airflow scheduler

airflow安装部署(python)

 

访问airflow页面

http://192.168.5.130:8080/

airflow安装部署(python)

 

搭建成功!