Oozie
一、理性认知
英文释义
驯象人
简介
一个基于工作流引擎的开源框架,由cloudera公司贡献给Apache,提供对hadoop,MapReduce,Pig jobs的任务调度与协调。Oozie需要部署到java Servlet容器中运行
在集群中扮演的角色
定时调度任务,多任务可以按照执行的逻辑顺序调度
功能模块
1、Workflow
顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)
2、Coordinator
定时触发workflow
3、Bundle Job
绑定多个Coordinator
Oozie的节点
1、控制流节点(Control Flow Nodes)
控制流节点一般都是定义在工作流开始或结束的位置,比如start,end,kill等。以及提供工作流的执行路径机制,如decision,fork,join等
2、动作节点(Action Nodes)
就是执行具体任务动作的节点
其他
azkaban,宙斯
二、安装与部署
1、解压Oozie
2、hadoop配置文件修改,完成后scp到其他节点
1)hadoop配置core-site.xml
hadoop.proxyuser.root.hosts ---> *
允许被oozie代理的用户组hadoop.proxyuser.root.groups ---> *
2)mapred-site.xml配置JobHistoryServer服务(必须)
配置MapReduce JobHistory Server地址,默认端口10020
<name>mapreduce.jobhistory.address</name>
<value>hlh001:10020</value>
配置MapReduce JobHistory Server web ui地址,默认端口19888
<name>mapreduce.jobhistory.webapp.address</name>
<value>hlh001:19888</value>
3)yarn-site.xml
任务历史服务
<name>yarn.log.server.url</name>
<value>http://hlh001:19888/jobhistory/logs</value>
3、开启hadoop集群
需要配合开启jobhistory
最好执行一个MR任务进行测试
4、解压oozie-hadooplibs
完成后Oozie目录下会出现hadooplibs目录
5、在Oozie目录下创建libext目录
6、拷贝一些依赖的jar包
将hadooplibs里面的jar包拷贝到libext目录下
拷贝mysql驱动包到libext目录下
7、将ext.zip拷贝到libext目录下
8、修改Oozie配置文件
Oozie.site.xml
<name>oozie.service.JPAService.jdbc.driver</name> <value>com.mysql.jdbc.Driver</value>
jdbc驱动
<name>oozie.service.JPAService.jdbc.url</name> <value>jdbc:mysql://192.168.122.20:3306/oozie</value>
mysql的Oozie数据库的配置
<name>oozie.service.JPAService.jdbc.username</name>
<value>root</value>
数据库用户名
<name>oozie.service.JPAService.jdbc.password</name> <value>123456</value>
数据库密码
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/opt//opt/module/hadoop-2.7.2/etc/hadoop</value>
让Oozie引用hadoop的配置文件
9、在mysql中创建Oozie的数据库
1)进入数据库
mysql -uroot -proot
2)创建Oozie数据库
create database oozie;
10、初始化oozie的配置
1)上传oozie目录下的yarn.tar.gz文件到HDFS(提示:yarn.tar.gz文件会自动解压)
bin/oozie-setup.sh sharelib creat -fs hdfs://hlh001:8020 -locallib 文件
2)创建oozie.sql文件
bin/oozie-setup.sh db creat -run -sqlfile oozie.sql
3)打包项目,生成war包
bin/oozie-setup.sh prepare-war
11、启动关闭
bin/oozied.sh start
bin/ooied.sh stop
12、访问oozie的web页面
http://hlh001:11000/oozie