学习总结——oozie框架01

一、oozie简介

一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对Hadoop Mapreduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。

二、Oozie在集群中扮演的角色

定时调度任务,多任务可以按照执行的逻辑顺序调度。

三、Oozie的功能模块

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)

就是执行具体任务动作的节点。

五、Oozie的安装与部署

1、解压Oozie

$ tar -zxf 包所在位置 -C 存储位置

2、Hadoop配置文件修改,完成后发送到其他机器节点

1)core-site.xml

添加如下代码:

<!-- Oozie Server的Hostname -->
<property>
   	<name>hadoop.proxyuser.用户名.hosts</name>
   	<value>*</value>
</property>
<!-- 允许被Oozie代理的用户组 -->
<property>
   	<name>hadoop.proxyuser.用户名.groups</name>
	<value>*</value>
</property>

2)配置JobHistoryServer服务(必须),mapred-site.xml

先确保jobhistory可以正常使用,添加如下代码:

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
<property>
   <name>mapreduce.jobhistory.address</name>
   <value>主机名:10020</value>
</property>
<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->
<property>
   <name>mapreduce.jobhistory.webapp.address</name>
   <value>主机名:19888</value>
</property>

3)yarn-site.xml

添加如下代码:

<!-- 任务历史服务 -->
<property> 
	<name>yarn.log.server.url</name> 
	<value>http://主机名:19888/jobhistory/logs/</value> 
</property> 

完成后,记得发送到其他节点。

3、开启Hadoop集群(需要开启jobhistoryserver)

4、解压hadooplibs

$ tar -zxf /opt/modules/cdh/oozie-4.0.0-cdh5.3.6/oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz -C /opt/modules

完成后Oozie目录下会出现hadooplibs目录

5、在Oozie目录下创建libext目录

mkdir libext

6、拷贝一些依赖的Jar包

1)将hadooplibs里面的jar包,拷贝到libext目录下

cp -ra /opt/modules/cdh/oozie-4.0.0-cdh5.3.6/hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/

2)拷贝Mysql驱动包到libext目录下

$ cp -a /opt/softwares/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /opt/modules/cdh/oozie-4.0.0-cdh5.3.6/libext/

7、将ext-2.2.zip拷贝到libext/目录下

cp /opt/softwares/ext-2.2.zip libext/

8、修改Oozie配置文件

1)oozie-site.xml

JDBC驱动

oozie.service.JPAService.jdbc.driver
com.mysql.jdbc.Driver

Mysql的oozie数据库的配置

oozie.service.JPAService.jdbc.url
jdbc:mysql://192.168.122.20:3306/oozie

数据库用户名

oozie.service.JPAService.jdbc.username
root

数据库密码

oozie.service.JPAService.jdbc.password
123456

让Oozie引用Hadoop的配置文件

oozie.service.HadoopAccessorService.hadoop.configurations
*=/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop

9、在Mysql中创建Oozie的数据库

1)进入数据库

mysql -uroot -p123456

2)创建oozie数据库

create database oozie;

10、初始化Oozie的配置

1)上传Oozie目录下的yarn.tar.gz文件到HDFS

 bin/oozie-setup.sh sharelib create -fs hdfs://hadoop-senior01.itguigu.com:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

执行成功后,去检查对应目录有没有文件生成

2)创建oozie.sql文件

bin/oozie-setup.sh db create -run -sqlfile oozie.sql

3)打包项目,生成war包

bin/oozie-setup.sh prepare-war

11、启动Oozie服务

bin/oozied.sh start

12、访问Oozie的Web页面

http://hadoop-senior01.itguigu.com:11000/oozie

猜你喜欢

转载自blog.csdn.net/qq_40310148/article/details/88135518
今日推荐