该原创文章同步发表在我的个人公众号: Hadoop非权威指南 ,欢迎关注
airflow是一款大数据平台任务调度的开源工具,优雅的可视化操作深得人心,话不多说,直接附上安装教程(由于比较简单,不附图了,后续考虑写一篇小白版)
首先声明操作环境:
airflow--Version : 1.8.0
centos--release 6.9 (Final)
python--2.7.3
[1]系统如果没有pip组件,应该先安装:
$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
--如果报错:
zipimport.ZipImportError: can not decompress data; zlib not available
--解决:
yum -y install zlib*
然后运行
yum install sqlite-devel
进入python安装目录,
./configure --with-ssl
重新编译下
进入Modules , vi Setup
找到下面这句,去掉注释
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
重新编译安装:
sudo make
sudo make -i install
--如果报错:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available
--解决:
yum install openssl-devel -y
然后重新编译
=============================================
#查看pip版本
$ pip -V
出现如下,说明成功
pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
[2]安装数据库
(airflow支持mysql postgrey oracle等,这里使用mysql)
输入:
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
然后安装mysql
yum install mysql-server -y
yum install mysql-devel -y
在mysql配置文件/etc/my.cnf的[mysqld]中加入
character-set-server=utf8
然后启动mysql服务
service mysqld start && chkconfig mysqld on
登录mysql
mysql -u root -p
刚安装密码为空,直接按回车
切换到mysql数据库:
use mysql;
然后修改密码
UPDATE user SET password=password("root") WHERE user='root';
刷新权限
FLUSH PRIVILEGES;
再次登录
mysql -uroot -proot
注意:这里演示用root,生产环境请配置复杂密码
#安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
create database airflow character set utf8 ;
CREATE USER 'airflow'@'%'IDENTIFIED BY 'airflow';
GRANT ALL PRIVILEGES ON *.* TO 'airflow'@'%';
FLUSH PRIVILEGES;
注意,需提前创建用户:
useradd airflow -p airflow
[3]安装airflow
1.安装airflow主模块
首先安装Cython:
pip install Cython
(不然安装到最后会报错)
然后安装
gcc:yum install gcc* -y
再安装pandas等:
pip install --upgrade numpy
pip install pandas
pip install cx_Oracle
yum install expect*
安装airflow:
pip install apache-airflow
一般教程都会提供上面官方安装源,非常慢,容易失败,仅在下面源失效情况下使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple airflow
(国内源)
2.添加mysql支持:
pip install airflow[mysql]
3.配置airflow连接到mysql:
vi /root/airflow/airflow.cfg
配置mysql访问地址:
sql_alchemy_conn =mysql://airflow:[email protected]:3306/airflow
4.初始化数据库:
airflow initdb
airflow scheduler
(scheduler启动后,DAG目录下的dags就会根据设定的时间定时启动)
5.开启webserver:
airflow webserver -p 8080
(端口若与其他端口冲突请更改)
输入地址,即可开始使用airflow:
http://192.168.70.222:8080/admin/
--示例dags脚本在以下目录:
/usr/local/lib/python2.7/site-packages/airflow/example_dags
其他:
--自定义脚本上传至~python2.7/site-packages/airflow/dags
--自定义脚本上传至/root/airflow/dags/目录下