Oozie配置及案例分析

Oozie框架:
理性认知:
1、Oozie英文翻译
驯象人
2、Oozie简介
一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对Hadoop Mapreduce、Pig Jobs的任务调度与协调。
Oozie需要部署到Java Servlet容器中运行。
3、Oozie在集群中扮演的角色
定时调度任务,多任务可以按照执行的逻辑顺序调度。
4、Oozie的功能模块
4.1、Workflow
顺序执行流程节点,支持fork(分支多个节点),join(合并多个节点为一个)
4.2、Coordinator
定时触发workflow
4.3、Bundle Job
绑定多个Coordinator
5、Oozie的节点
5.1、控制流节点(Control Flow Nodes)
控制流节点一般都是定义在工作流开始或者结束的位置,比如start,end,kill等。以及提供工作流的执行路径机制,
如decision,fork,join等。
5.2、动作节点(Action Nodes)
就是执行具体任务动作的节点。
6、Oozie的安装与部署
6.1、解压Oozie
$ tar -zxf /opt/softwares/oozie-4.0.0-cdh5.3.6.tar.gz -C /opt/modules/cdh/
6.2、Hadoop配置文件修改,完成后scp到其他机器节点
6.2.1、core-site.xml


hadoop.proxyuser.admin.hosts
*

				<!-- 允许被Oozie代理的用户组 -->
			  	<property>
			    	<name>hadoop.proxyuser.admin.groups</name>
			   	 	<value>*</value>
			  	</property>
			  6.2.2、配置JobHistoryServer服务(必须)
			  	mapred-site.xml
			  	    <!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
				    <property>
				        <name>mapreduce.jobhistory.address</name>
				        <value>hadoop-senior01.itguigu.com:10020</value>
				    </property>

				    <!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->
				    <property>
				        <name>mapreduce.jobhistory.webapp.address</name>
				        <value>hadoop-senior01.itguigu.com:19888</value>
				    </property>
				 yarn-site.xml
				 	<!-- 任务历史服务 -->
				 	<property> 
						<name>yarn.log.server.url</name> 
						<value>http://hadoop-senior01.itguigu.com:19888/jobhistory/logs/</value> 
					</property> 

				完成后:记得scp同步到其他机器节点
		6.3、开启Hadoop集群
			$ sh ~/start-cluster.sh
			尖叫提示:需要配合开启JobHistoryServer

			最好执行一个MR任务进行测试。
		6.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/cdh/
			完成后Oozie目录下会出现hadooplibs目录
		6.5、在Oozie目录下创建libext目录
			$ mkdir libext/
		6.6、拷贝一些依赖的Jar包
			6.6.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/
			6.6.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/
		6.7、将ext-2.2.zip拷贝到libext/目录下
			$ cp /opt/softwares/ext-2.2.zip libext/
		6.8、修改Oozie配置文件
			6.8.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

		6.9、在Mysql中创建Oozie的数据库
			6.9.1、进入数据库
				$ mysql -uroot -p123456
			6.9.2、创建oozie数据库
				mysql> create database oozie;
		6.10、初始化Oozie的配置
			6.10.1、上传Oozie目录下的yarn.tar.gz文件到HDFS(尖叫提示:yarn.tar.gz文件会自行解压)
				$ 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
				
				执行成功之后,去50070检查对应目录有没有文件生成。
			6.10.2、创建oozie.sql文件
				$ bin/oozie-setup.sh db create -run -sqlfile oozie.sql
			6.10.3、打包项目,生成war包
				$ bin/oozie-setup.sh prepare-war
		6.11、启动Oozie服务
			$ bin/oozied.sh start
			(关闭Oozie服务:$ bin/oozied.sh stop)
		6.12、访问Oozie的Web页面
			http://hadoop-senior01.itguigu.com:11000/oozie
	7、案例
		7.1、案例一:使用Oozie调度Shell脚本
			7.1.1、解压官方案例模板
				$ tar -zxf oozie-examples.tar.gz
			7.1.2、创建工作目录
				$ mkdir oozie-apps/
			7.1.3、拷贝任务模板到oozie-apps/目录
				$ cp -r examples/apps/shell/ oozie-apps/
			7.1.4、随意编写一个脚本p1.sh
				$ vi /opt/modules/cdh/oozie-4.0.0-cdh5.3.6/oozie-apps/shell/p1.log
				内容如下:
				#!/bin/bash
				/usr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yhblog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值