在线安装Airflow
组件版本:
Python 3.7.2
Apache airflow 1.10.1
Mysql 5.7.24
CentOs7.8
Python安装
Centos7中,Python默认是安装的,输入python 直接可以查看版本号,入下图
注意: 如果本机安装了python2,尽量不要管它,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,
比如yum!不要动现有的python2环境!
- 安装python3依赖
命令:
yum install zlib* libffi-devel
yum install gcc
apt install libmysqlclient-dev
- 下载python3.7.2安装包
命令:
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
注意:Centos7没有自带wget命令,如需要安装的则可以通过yum进行安装
命令:
yum -y install wget
也可以通过python官网(https://www.python.org/downloads/)下载安装包.
- 编译和安装python
命令:
tar xJvf Python-3.7.2.tar.xz
进入cd Python-3.7.2
进入python根目录
命令:
./configure --prefix=/usr/local/sbin/python3
编译:
make && make install
- 建立软连接
系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7
可以保持原有的软连接,不过之后的运行就需要改成python3。也可以删除,目前这里暂时保存,启用3.x版本则用python3。2.x版本则用python
命令:
ln -s /usr/local/sbin/python3/bin/python3 /usr/bin/python3
查看安装效果
添加python环境变量
将/usr/local/sbin/python3 加入PATH vi ~/.bash_profile
生效命令:
source ~/.bash_profile
- 安装pip
验证pip是否自带安装
pip –version
在线安装pip
wget
https://bootstrap.pypa.io/get-pip.py
注意:用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令:
python get-pip.py
python3 get-pip.py
问题异常:
提醒版本过低openssl
需要升级
yum install openssl-devel -y
需要对python ssl重新编译
命令:
进入python安装根目录
./configure --with-ssl
make
make install
再次进行关联
python3 get-pip.py
查看版本
pip -V
Pip升级更新
python -m pip install --upgrade pip
- 安装Mysql
由于centos7自带安装、需先卸载
rpm -qa | grep mariadb
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
启动mysql
systemctl start mysqld
查看运行状态
systemctl status mysqld
获取临时密码
grep 'temporary password' /var/log/mysqld.log
Mysql登陆之后会提醒
需要设置参数validate_password_policy值
set global validate_password_policy=0;
密码长度设置
set global validate_password_length=1;
再次执行修改密码就可以成功了
alter user 'root'@'localhost' identified by '***';
- 安装airflow
安装airflow
pip install apache-airflow
设置环境变量
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
注意: 初始化数据库过程中如碰到一下问题需执行一下命令
在mysql中执行命令
show global variables like '%timestamp%';
set global explicit_defaults_for_timestamp =1;
开始进入正题
airflow服务启动命令:
airflow webserver
启动调度程序命令:
airflow scheduler
访问airflow页面
搭建成功!