调度神器airflow-安装

2019-04-19  本文已影响0人  星辰fml

什么是airflow

Airflow是Airbnb开发的用于管理工作流的开源项目,自带ui和调度,目前已成为Apache顶级项目。
airflow将调度任务构建成一个DAG,相比于azkaban利用压缩包zip,oozie用xml来编写任务依赖,airflow选择用python来灵活地编写任务以及其依赖。
airflow内置了很多operator,如果内置的operator无法满足要求,用户可以自定义operator来实现特有的功能。

本文将以以下几个方面,来进行airflow的安装:

项目地址:airflow.apache.org

airflow架构

airflow中有webserver、scheduler、worker、flower几个组建,之间关系如下:


引自https://segmentfault.com/a/1190000012803744

安装准备

airflow是使用python进行编写的,所以环境中需要安装python,且python必须大于2.7,推荐3.x。
airflow各组件之间无强关联,可以单独安装和启动。

在需要安装的airflow的节点上使用[pip install airflow]安装

配置

第一次安装完成后,需要进行初始化数据库,使用命令:airflow initdb来进行数据库初始化。
初始化数据完成后,默认会在当前用户目录下创建一个airflow目录,里面有airflow的配置文件和默认的sqlite数据文件。位置信息全部都在${USER_HOME}/airflow/airflow.cfg文件中。
下面将修改主要配置信息:

修改好配置后

  1. 首先在mysql中创建airflow数据库、airflow用户,并为airflow赋予操作airflow的权限,并允许远程登录。
  2. 启动redis-server
  3. 再次使用airflow initdb来进行初始化,在此过程中可能会遇到问题,我们后面讲解如何解决问题。

启动

问题

上一篇下一篇

猜你喜欢

热点阅读