离线数据分析平台实战——170Oozie介绍及环境搭建
Oozie介绍
Oozie是一个工作流引擎服务器,用于运行Hadoop Map/Reduce和Hive等任务工作流.
同时Oozie还是一个Java Web程序,运行在Java Servlet容器中,如Tomcat中。
Oozie以action为基本任务单位,可以将多个action构成一个DAG图(有向无环图Direct Acyclic Graph)的模式进行运行。
Oozie工作流通过HPDL(一种通过XML自定义处理的语言)来构造Oozie的工作流。
一个oozie服务器主要包括四个服务:Oozie Workflow、Oozie Coordinator、Oozie Bundle和Oozie SLA(oozie服务器等级协定)。
Oozie四大组件服务介绍
Oozie Workflow: 该组件用于定义和执行一个特定顺序的mapreduce、hive和pig作业。
Oozie Coordinator:该组件用于支持基于事件、系统资源存在性等条件的workflow的自动化执行。
Oozie Bundle:该引擎可以定义和执行"一束"应用,从而提供一个批量化的方法,将一组Coordinator应用程序一起进行管理。
Oozie服务器等级协定(Service Level Agreement, SLA):该组件支持workflow应用程序执行过程的记录跟踪。
Oozie安装介绍
Oozie使用tomcat等服务器作为web界面展示容器,使用关系型数据库存储oozie的工作流元数据,默认使用debry,由于debry的缺点,一般情况使用mysql作为oozie的元数据库,使用extjs来作为报表展示js框架。
安装步骤:
- 安装mysql
- 安装tomcat
- 安装oozie
Tomcat安装
安装步骤:
- 下载tomcat压缩包: wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.tar.gz
- 解压压缩包
- 设置环境变量
- 启动tomcat测试是否安装成功。
Oozie安装
安装步骤:
- 下载oozie安装包和ext-2.2.zip。
- 设置用户环境变量。
- 修改conf/oozie-site.xml文件进行配置信息修改。
- 在oozie根目录下创建libext文件夹,并将oozie依赖的其他第三方jar移动到该目录下。
- 创建oozie元数据库。
- 设置hadoop代理用户。
- 在hdfs上设置oozie的公用jar文件夹。
- 创建oozie的war文件。
- 运行oozie并检查是否安装成。