【Hadoop离线基础总结】oozie的安装部署与使用
简单介绍
概述
oozie CDH版本 官方帮助文档:http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.14.0/
Oozie是一个基于服务器的工作流引擎,专门运行带有运行Hadoop Map/Reduce和Pig作业的操作的工作流作业。
Oozie是一个运行在Java servlet容器中的Java web应用程序。
对于Oozie来说,工作流是一组操作(例如Hadoop Map/Reduce作业、Pig作业),它们被安排在一个控制依赖关系DAG(直接无环图)中。从一个操作到另一个操作的“控制依赖”意味着第二个操作在第一个操作完成之前不能运行。
Oozie工作流定义是用hPDL(一种类似于JBOSS JBPM jPDL的XML流程定义语言)编写的。
Oozie工作流动作在远程系统(如Hadoop、Pig)中启动作业。操作完成后,远程系统回调Oozie来通知操作完成,此时Oozie将继续执行工作流中的下一个操作。
Oozie工作流包含控制流节点和操作节点。
控制流节点定义工作流的开始和结束(开始、结束和失败节点),并提供一种机制来控制工作流执行路径(decision、fork和join节点)。
动作节点是工作流触发计算/处理任务执行的机制。Oozie支持不同类型的操作:Hadoop map-reduce、Hadoop文件系统、Pig、SSH、HTTP、电子邮件和Oozie子工作流。可以扩展Oozie以支持其他类型的操作。
Oozie工作流可以参数化(在工作流定义中使用${inputDir}之类的变量)。在提交工作流时,必须提供参数的作业值。如果正确地参数化(即使用不同的输出目录),几个相同的工作流作业可以并发进行。架构
WorkFlow: 工作流,定义我们的工作流的任务的执行,主要由一个个的action,在xml中进行配置即可
Coordinator : 协作器,说白了就是oozie当中的定时任务调度的模块
Bundle : 多个Coordinator 的抽象,可以通过bundle将多个Coordinator 进行组装集合起来,形成一个bundle

安装部署
1.修改core-site.xml
修改core-site.xml添加hadoop集群的代理用户
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim core-site.xml
添加一下配置(三台机器都要修改)<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
注意:hadoop的历史任务的服务必须启动,即19888端口可以查看,具体如何配置19888请查看hadoop课程的环境搭建
重启hdfs与yarn集群cd /export/servers/hadoop-2.6.0-cdh5.14.0
sbin/stop-dfs.sh
sbin/start-dfs.sh
sbin/stop-yarn.sh
sbin/start-yarn.sh
2.上传oozie的安装包并解压
oozie安装包下载地址(要根据自己的CDH版本下载):http://archive.cloudera.com/cdh5/cdh/5/
下载完成后上传到/export/softwares进行解压
tar -zxvf oozie-4.1.0-cdh5.14.0.tar.gz -C ../servers/3.解压hadooplibs到与oozie平行的目录
cd /export/servers/oozie-4.1.0-cdh5.14.0
tar -zxvf oozie-hadooplibs-4.1.0-cdh5.14.0.tar.gz -C ../

4.创建libext目录,并拷贝依赖包到libext目录
cd /export/servers/oozie-4.1.0-cdh5.14.0
mkdir -p libext
cp -ra hadooplibs/hadooplib-2.6.0-cdh5.14.0.oozie-4.1.0-cdh5.14.0/* libext/
5.拷贝mysql的驱动包到libext目录下
cp /export/servers/hive-1.1.0-cdh5.14.0/lib/mysql-connector-java-5.1.38.jar /export/servers/oozie-4.1.0-cdh5.14.0/libext/
6.上传ext-2.2.zip压缩包到libext目录下

7.修改oozie-site.xml
cd /export/servers/oozie-4.1.0-cdh5.14.0/conf
vim oozie-site.xml
以下配置有则修改,无则添加
<property>
<name>oozie.service.JPAService.jdbc.driver</name>
<value>com.mysql.jdbc.Driver</value>
</property> <property>
<name>oozie.service.JPAService.jdbc.url</name>
<value>jdbc:mysql://node03.hadoop.com:3306/oozie</value>
</property> <property>
<name>oozie.service.JPAService.jdbc.username</name>
<value>root</value>
</property> <property>
<name>oozie.service.JPAService.jdbc.password</name>
<value>123456</value>
</property> <property>
<name>oozie.processing.timezone</name>
<value>GMT+0800</value>
</property> <property>
<name>oozie.service.ProxyUserService.proxyuser.hue.hosts</name>
<value>*</value>
</property> <property>
<name>oozie.service.ProxyUserService.proxyuser.hue.groups</name>
<value>*</value>
</property> <property>
<name>oozie.service.coord.check.maximum.frequency</name>
<value>false</value>
</property> <property>
<name>oozie.service.HadoopAccessorService.hadoop.configurations</name>
<value>*=/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop</value>
</property>
8.创建mysql数据库
mysql -uroot -p
create database oozie;
9.上传oozie依赖的jar包到hdfs上面去
bin/oozie-setup.sh sharelib create -fs hdfs://node01:8020 -locallib oozie-sharelib-4.1.0-cdh5.14.0-yarn.tar.gz10.创建oozie的数据库表
cd /export/servers/oozie-4.1.0-cdh5.14.0
bin/oozie-setup.sh db create -run -sqlfile oozie.sql
11.打包项目,生成war包
在这之前先确保自己的linux安装了zip和unzip,没有的话在线安装一下
yum -y install unzip
yum -y install zip
bin/oozie-setup.sh prepare-war12.配置oozie的环境变量
vim /etc/profileexport OOZIE_HOME=/export/servers/oozie-4.1.0-cdh5.14.0
export OOZIE_URL=http://node03.hadoop.com:11000/oozie
export PATH=:$OOZIE_HOME/bin:$PATH
source /etc/profile13.oozie的启动和关闭命令
bin/oozied.sh start
bin/oozied.sh stop

有时如果是在进程直接kill了oozie,就必须删除上图红框框选的文件
浏览器页面访问:http://node03:11000/oozie/修正oozie浏览器页面时区问题
显示为GMT时区

cd /export/servers/oozie-4.1.0-cdh5.14.0/oozie-server/webapps/oozie
vim oozie-console.js
修改为GMT+0800即可
function getTimeZone() {
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
return Ext.state.Manager.get("TimezoneId","GMT+0800");
}
重启oozie即可
使用
oozie调度shell脚本
oozie调度hive
oozie调度MapReduce任务
oozie任务串联
oozie定时任务设置
hue整合oozie
【Hadoop离线基础总结】oozie的安装部署与使用的更多相关文章
- 【Hadoop离线基础总结】Hue的简单介绍和安装部署
目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...
- 【Hadoop离线基础总结】impala简单介绍及安装部署
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...
- 【Hadoop离线基础总结】流量日志分析网站整体架构模块开发
目录 数据仓库设计 维度建模概述 维度建模的三种模式 本项目中数据仓库的设计 ETL开发 创建ODS层数据表 导入ODS层数据 生成ODS层明细宽表 统计分析开发 流量分析 受访分析 访客visit分 ...
- 【Hadoop离线基础总结】Sqoop常用命令及参数
目录 常用命令 常用公用参数 公用参数:数据库连接 公用参数:import 公用参数:export 公用参数:hive 常用命令&参数 从关系表导入--import 导出到关系表--expor ...
- 【Hadoop离线基础总结】Hive调优手段
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不 ...
- 【Hadoop离线基础总结】Hive的安装部署以及使用方式
Hive的安装部署以及使用方式 安装部署 Derby版hive直接使用 cd /export/softwares 将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14. ...
- 【Hadoop离线基础总结】工作流调度器azkaban
目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban ...
- 【Hadoop离线基础总结】日志采集框架Flume
日志采集框架Flume Flume介绍 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.它可以采集文件,socket数据包.文件.文件夹.kafka等各种形式源数据,又可 ...
- 【Hadoop离线基础总结】Hue与oozie集成
目录 1.停止oozie与hue的进程 2.修改oozie的配置文件 3.修改hue的配置文件 4.启动hue与oozie的进程 5.页面访问hue 1.停止oozie与hue的进程 bin/oozi ...
随机推荐
- python干货-类属性和方法,类的方法重写
类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...
- testNG 下载安装
testNG的安装方法: 一.在线安装 打开eclipse 选择-->help-->Install New Software选项 ,弹出下面的弹框,Work with框输入 http:// ...
- AppBoxFuture: Web在线报表设计与PDF生成
企业应用需要打印各类单证及报表,为了方便开发此类应用作者在框架内集成了报表引擎,并且实现了基于Canvas的Web在线报表设计及基于PDFJS的报表查看与打印. 一.原理浅析 报表模型:由Xml描 ...
- 排序1 - 选择排序 & 插入排序
请原谅我没有按照之前图片的分类来介绍排序算法,先说最简单的两种排序算法(冒泡略过),选择排序和插入排序,之前老是容易记混.默认输出升序的序列啊,哈哈. 选择排序 对于输入长度为n的数组,一共比较n-1 ...
- PHP中的数据库操作
PDO project data object 连接到数据库 $db=new PDO("mysql:dbname=database;host=sever","userna ...
- NC使用练习之通达OA-2017版本漏洞复现后续
利用上一篇通达OA的漏洞环境,练习NC工具的使用. 步骤: 1.本机启动nc.exe监听端口: 确认端口是否成功监听成功: 2.用冰蝎将nc.exe上传至目标机: 3.用命令行在目标机启动nc.exe ...
- SpringBoot应用操作Rabbitmq(fanout广播高级操作)
一.广播模式fanout.不需要指定路由key. 注:与topic和direct区别是:fanout广播模式会两个队列同时发送相同的消息,并非由交换器转发到某一个队列 二.实战(广播模式) 1.引入m ...
- Robot Framework -002 在Windows10上的安装
机器人框架是使用Python实现的,并且还支持Jython(JVM),IronPython(.NET)和PyPy. 在安装框架之前,一个明显的前提条件是至少安装这些解释器之一. 下面列出了安装Robo ...
- 微服务为什么一定要用docker
引言 早在2013年的时候,docker就已经发行,然而那会还是很少人了解docker.一直到2014年,Martin Fowler提出了微服务的概念,两个不相干的技术终于走在了一起,创造了今天的辉煌 ...
- 长江存储推全新3D NAND架构 挑战三星存储
雷帝网 乐天 8月7日报道 作为NAND行业的新晋者,长江存储科技有限责任公司(简称:长江存储)今天公开发布其突破性技术--XtackingTM.据知情人士透露,这之前存储一直都是三星的强项. 长江存 ...