centos7 安装airflow

来源:互联网 发布:nba2k14王朝模拟数据 编辑:程序博客网 时间:2024/06/08 12:53

centos7 安装airflow


由于airflow是个比较新的东西,安装时,不免踩了很多坑。什么centos7 数据库需要换成mariadb,什么yum install python-mysql ,坑死人。可能这也跟系统的环境有关,因为版本不同,命令也不同。下面的步骤希望能帮到大家!


1.先测试自己的环境是否有wget命令,没有的话需要进行安装:

sudo yum -y install wget   (当然,环境配置好网络


2.看看是否有gcc,没有的话需要进行安装:

yum install gcc  (后续安装airflow如果不成功,可以再次执行,它会更新包)


3.想安装airflow,需先安装pip,而安装pip,需先安装setuptools

以下链接地址皆是python官网https://www.python.org/里的。也可以根据自己的需要安装所需的版本

(1)下载setuptools:

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

解压:tar -zxvf setuptools-19.6.tar.gz

           cd setuptools-19.6

编译:python setup.py build
安装:python setup.py install


(2)下载pip-9.0.1.tar.gz:

wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9

同上一步骤一样,解压,编译,安装

版本参考链接:https://pypi.python.org/pypi/pip


(3)pip install paramiko


(4)安装airflow前,还需要安装依赖的环境:

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

然后进行尝试安装:

        pip install airflow   #(这个是1.8版本,博主亲测没问题. )(现在有1.8.3版本了  pip install apache-airflow)

如果成功,那就恭喜。如出现以下错误:

致命错误:Python.h:没有那个文件或目录     #include <Python.h>                        ^    编译中断。    error: command 'gcc' failed with exit status 1
centos7:输入 yum install python-devel.x86_64

再次:pip install airflow

当出现:“Successfully installed.....”字眼,说明airflow安装成功了!


4.设置变量,初始化数据库

export AIRFLOW_HOME=~/airflow

airflow initdb

会在~/airflow 目录下生成配置文件

(如果想设置成永久变量,可以在/etc/profile里添加,添加后记得source /etc/profile)


5.启动服务

airflow webserver


在浏览器中输入: IP:8080端口进行访问



--------------------------------------------------------------------------------------------------------------

6.修改数据库配置

可以在~/airflow 目录下,修改airflow.cfg配置文件,数据库连接改为本地mysql的URL

先在mysql数据库里新建airflow数据库

然后修改airflow.cfg配置文件:

sql_alchemy_conn = sqlite:////root/airflow/airflow.db 改为:

sql_alchemy_conn = mysql://root:root@192.168.202.128:3306/airflow

接着重新初始化数据库:

airflow initdb

如果成功,则在airflow数据库表中可以看到很多表


如出现以下报错,则执行:yum install MySQL-python (注意此命令为centos7系统适合)

return __import__('MySQLdb') ImportError: No module named MySQLdb

再次初始化:airflow initdb

成功!!!


7.如果你输入命令: yum install MySQL-python显示已安装且是最新版本


那么接着处理: pip install PyMySQL

然后再次初始化: airflow initdb

认真看报错信息,如图:



进行编辑,在脚本开头处加入:


保存退出.

方法解析:MySQLdb只支持Python2.*, 还不支持3.*

可以用PyMySQL替代,然后导入到脚本里,即可正常使用.

参考链接:https://www.cnblogs.com/TaleG/p/6735099.html



原创粉丝点击