Oozie简介和Oozie部署

一、Oozie简介

Oozie英文翻译为:驯象人。一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对Hadoop Mapreduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。

二、Oozie的功能模块介绍

2.1、模块

1) Workflow

顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)

2) Coordinator

定时触发workflow

3) Bundle Job

绑定多个Coordinator

2.2、常用节点

1) 控制流节点(Control Flow Nodes

控制流节点一般都是定义在工作流开始或者结束的位置,比如start,end,kill等。以及提供工作流的执行路径机制,如decision,fork,join等。

2) 动作节点(Action  Nodes

负责执行具体动作的节点,比如:拷贝文件,执行某个Shell脚本等等。

三、Oozie的部署

3.1、部署

3.1.1、解压Oozie

$ tar -zxf ~/softwares/installations/cdh/oozie-4.0.0-cdh5.3.6.tar.gz -C ./

 

3.1.2、修改Hadoop配置(原来学习的基础上添加如下内容)

core-site.xml

<!-- Oozie Server的Hostname -->

<property>

       <name>hadoop.proxyuser.admin.hosts</name>

       <value>*</value>

</property>

 

<!-- 允许被Oozie代理的用户组 -->

<property>

       <name>hadoop.proxyuser.admin.groups</name>

      <value>*</value>

</property>

尖叫提示:hadoop.proxyuser.admin.hosts类似属性中的admin用户替换成你的hadoop用户。

mapred-site.xml

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->

<property>

    <name>mapreduce.jobhistory.address</name>

    <value>linux01:10020</value>

</property>

 

<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->

<property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>linux01:19888</value>

</property>

yarn-site.xml

<!-- 任务历史服务 -->

<property>

       <name>yarn.log.server.url</name>

       <value>http://linux01:19888/jobhistory/logs/</value>

</property>

完成后:记得scp同步到其他机器节点

3.1.3、重启Hadoop集群

$ sh ~/start-cluster.sh

尖叫提示:需要开启JobHistoryServer, 最好执行一个MR任务进行测试。

3.1.4、在oozie根目录下解压hadooplibs

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

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

3.1.5、在Oozie根目录下创建libext目录

$ mkdir libext/

3.1.6、拷贝一些依赖的Jar包

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

$ cp -ra hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/

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

$ cp -a ~/softwares/installations/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar libext/

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

ext是一个js框架,用于展示oozie前端页面:

$ cp -a ~/softwares/installations/cdh/ext-2.2.zip libext/

3.1.8、修改Oozie配置文件

oozie-site.xml

属性:oozie.service.JPAService.jdbc.driver

属性值:com.mysql.jdbc.Driver

解释:JDBC的驱动

 

属性:oozie.service.JPAService.jdbc.url

属性值:jdbc:mysql://linux01:3306/oozie

解释:oozie所需的数据库地址

 

属性:oozie.service.JPAService.jdbc.username

属性值:root

解释:数据库用户名

 

属性:oozie.service.JPAService.jdbc.password

属性值:123456

解释:数据库密码

 

属性:oozie.service.HadoopAccessorService.hadoop.configurations

属性值:*=/home/admin/modules/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop

解释:让Oozie引用Hadoop的配置文件

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

进入Mysql并创建oozie数据库:

$ mysql -uroot -p123456

mysql> create database oozie;

3.1.10、初始化Oozie

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

尖叫提示:yarn.tar.gz文件会自行解压

$ bin/oozie-setup.sh sharelib create -fs hdfs://linux01:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

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

2) 创建oozie.sql文件

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

3) 打包项目,生成war

$ bin/oozie-setup.sh prepare-war

3.1.11、启动Oozie服务(附关闭Oozie服务)

$ bin/oozied.sh start

如需正常关闭Oozie服务,请使用:

$ bin/oozied.sh stop

3.1.12、访问Oozie的Web页面

http://linux01:11000/oozie

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值