Oozie安装部署

Oozie简介

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

Oozie的功能模块介绍

1.模块

  1. Workflow
    顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)
  2. Coordinator
    定时触发workflow
  3. Bundle Job
    绑定多个Coordinator
    2.常用节点
  4. 控制流节点(Control Flow Nodes)
    控制流节点一般都是定义在工作流开始或者结束的位置,比如start,end,kill等。以及提供工作流的执行路径机制,如decision,fork,join等。
  5. 动作节点(Action Nodes)
    负责执行具体动作的节点,比如:拷贝文件,执行某个Shell脚本等等。

Oozie的部署

1.部署Hadoop(CDH版本的)
修改Hadoop配置
core-site.xml

<!-- Oozie Server的Hostname -->
<property>
	<name>hadoop.proxyuser.atguigu.hosts</name>
	<value>*</value>
</property>

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

mapred-site.xml

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>

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

yarn-site.xml

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

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

2.重启Hadoop集群

[hadoop@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh
[hadoop@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh
[hadoop@hadoop102 hadoop-2.7.2]$ sbin/mr-jobhistory-daemon.sh start historyserver

注意:需要开启JobHistoryServer, 最好执行一个MR任务进行测试。

部署Oozie

解压Oozie

[hadoop@hadoop102 software]$ tar -zxvf /opt/software/cdh/oozie-4.0.0-cdh5.3.6.tar.gz -C ./

在oozie根目录下解压oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ tar -zxvf oozie-hadooplibs-4.0.0-cdh5.3.6.tar.gz -C ../

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

在Oozie目录下创建libext目录

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ mkdir libext/

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

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -ra hadooplibs/hadooplib-2.5.0-cdh5.3.6.oozie-4.0.0-cdh5.3.6/* libext/

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

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar ./libext/

将ext-2.2.zip拷贝到libext/目录下
ext是一个js框架,用于展示oozie前端页面:

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ cp -a /opt/software/cdh/ext-2.2.zip libext/

修改Oozie配置文件
oozie-site.xml

属性:oozie.service.JPAService.jdbc.driver
属性值:com.mysql.jdbc.Driver
解释:JDBC的驱动

属性:oozie.service.JPAService.jdbc.url
属性值:jdbc:mysql://hadoop102:3306/oozie
解释:oozie所需的数据库地址

属性:oozie.service.JPAService.jdbc.username
属性值:root
解释:数据库用户名

属性:oozie.service.JPAService.jdbc.password
属性值:990204
解释:数据库密码

属性:oozie.service.HadoopAccessorService.hadoop.configurations
属性值:*=/opt/module/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop
解释:让Oozie引用Hadoop的配置文件

在Mysql中创建Oozie的数据库
进入Mysql并创建oozie数据库:

$ mysql -uroot -p990204
mysql> create database oozie;

初始化Oozie

  1. 上传Oozie目录下的yarn.tar.gz文件到HDFS:
    提示:yarn.tar.gz文件会自行解压
[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie-setup.sh sharelib create -fs hdfs://hadoop102:8020 -locallib oozie-sharelib-4.0.0-cdh5.3.6-yarn.tar.gz

执行成功之后,去50070检查对应目录有没有文件生成。
2) 创建oozie.sql文件

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/ooziedb.sh create -sqlfile oozie.sql -run
  1. 打包项目,生成war包
[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozie-setup.sh prepare-war

Oozie的启动与关闭
启动命令如下:

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh start

关闭命令如下:

[hadoop@hadoop102 oozie-4.0.0-cdh5.3.6]$ bin/oozied.sh stop

访问Oozie的Web页面

http://hadoop102:11000/oozie/
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值