oozie配置安装与原理
概述
当前开源的hadoop任务工作流管理主要有oozie和Azkaban,本文先介绍oozie的配置安装与基本运行原理。
配置安装
(参考https://segmentfault.com/a/1190000002738484)
1. 首先要自己下载代码编译。
git clone https://github.com/apache/oozie.git
2. 修改pom文件,修改scala和hadoop版本。
<spark.scala.binary.version>2.11</spark.scala.binary.version>
<hadoop.version>2.7.0</hadoop.version>
3. 编译
bin/mkdistro.sh -DskipTests -Dhadoop.version=2.7.0 -Pspark-2 -Phadoop-2
注释:支持spark yarn模式运行,必须加上-Phadoop-2,编译后的文件在distro/target/oozie-4.3.0-distro/oozie-4.3.0文件夹内
4. 安装oozie server(1)创建目录
cd distro/target/oozie-4.3.0-distro/oozie-4.3.0/
mkdir libext
(2)oozie server 需要用到一个js库,在csdn上(http://download.csdn.net/detail/on_way_/8674059),下载后把ext-2.2.zip这个文件放的libext文件夹里。
cp ~/Downloads/ext-2.2.zip libext/
(3)把hadoop的jar把也放到这个libext文件夹内,参考下面这个命令
cp ${HADOOP_HOME}/share/hadoop/*/*.jar libext/
cp ${HADOOP_HOME}/share/hadoop/*/lib/*.jar libext/
(4)输出下述jar包,不要放到libext中
cd libext
rm jasper-compiler-5.5.23.jar
rm jasper-runtime-5.5.23.jar
rm jsp-api-2.1.jar
cd ../
(5)hue+oozie运行任务异常:
java.lang.NoSuchFieldError: HADOOP_CLASSPATH
解决方法(参考http://stackoverflow.com/questions/41205447/oozie-example-map-reduce-job-fails-with-java-lang-nosuchfielderror-hadoop-class)
mkdir tmp
cp oozie.war tmp
cd tmp
jar -xvf oozie.war
rm -f WEB-INF/lib/hadoop-*.jar
rm -f WEB-INF/lib/hive-*.jar
rm oozie.war
jar -cvf oozie.war ./*
cp oozie.war ../
cd ../
bin/oozie-setup.sh prepare-war
(6)更新hadoop配置conf/hadoop-conf
mkdir conf/hadoop-conf
cp ${HADOOP_HOME}/etc/hadoop/* conf/hadoop-conf
(7)新增spark配置conf/spark-conf
mkdir conf/spark-conf
cp ${SPARK_HOME}/conf/* conf/spark-conf
(8)增加oozie配置conf/oozie-site.xml
<property>
<name>oozie.service.ProxyUserService.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
<property>
<name>oozie.service.ProxyUserService.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
验证方式:
http://localhost:11000/oozie/v1/admin/configuration?timezone=America%2FLos_Angeles&user.name=hadoop&doAs=test
(9)执行下面的命令,把相关的jar包传到hdfs上
bin/oozie-setup.sh sharelib create -fs hdfs://mycluster
(10)启动bin/oozied.sh start
oozie运行试运行
配置好job.properties和workflow.xml后,就可以运行spark任务了。
cd oozie-4.3.0/examples/src/main/apps/spark
oozie job -oozie http://localhost:11000/oozie -config job.properties -run
oozie的缺陷
oozie中,由于分叉和连接节点需要成对出现,这会导致导致一些流在oozie中无法支持,例如。如 A->C,B->C, B->D,这种依赖关系在oozie中无法实现。
最后附一张oozie运行任务的流程图:

oozie配置安装与原理的更多相关文章
- 【Oozie】安装配置Oozie
		
安装和配置Oozie Oozie用于Hadoop的工作流配置: 参考链接: <Install and Configure Apache Oozie Workflow Scheduler for ...
 - node环境配置安装(nvm)
		
在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...
 - Oozie的安装过程
		
依赖CDH5,JDK和关系数据库 集群规划 主机名 IP Ooize节点 CHD1 XX.XX.XX.XX oozie server,oozie ...
 - pxe网络安装操作系统 原理与详细过程
		
摘要:在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机不带光驱或软驱,或者是笔记本配置的非标准的软驱和光驱,如1394接口,USB接口等,在Linux安装时所引导的Linux内核一 ...
 - Nagios配置安装详解
		
nagios.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);borde ...
 - 马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解
		
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...
 - 马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解(转)
		
马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...
 - hadoop高可用安装和原理详解
		
本篇主要从hdfs的namenode和resourcemanager的高可用进行安装和原理的阐述. 一.HA安装 1.基本环境准备 1.1.1.centos7虚拟机安装,详情见VMware安装Cent ...
 - Winserver2012下mysql 5.7解压版(zip)配置安装
		
一.安装 下载mysqlzip版本mysql不需要运行可执行文件,解压即可,下载zip版本mysqlmsi版本mysql双击文件即可安装,相对简单,本文不介绍此版本安装 配置环境变量打开环境变量配置页 ...
 
随机推荐
- AFNetWorking发送post请求,Code=-1016错误
			
使用AFNetWorking发送post请求时,可能会出现下面Code=-1016问题.打印的error如下: Error:Error Domain=com.alamofire.error.seria ...
 - unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题(转)
			
源:unicode转GBK,GNK转unicode,解决FATFS中文码表占用ROM问题 之前一直使用的512KB ROM的STM32,但是最近使用的只有128KB,想用FATFS显示支持长文件名,发 ...
 - Góra urządzenia z dwoma zwiększyć moc może sprawić
			
Zaprojektowany z rzeczywistym komfortu i łatwości od sportowca w swoim umyśle, kolejna edycja ze wzr ...
 - [vue最新实战] gank客户端(vue2 + vue-router2 + vuex +webpace + es6)新手福利,干货多多
			
vue-meizi 本项目是基于vue2最新实战项目,是适合新手进阶的绝佳教程.代码简单易懂,注释多多.实现了移动端使用最多的 无限滚动,图片加载,左右滑动,等待.先发布预览版本,后面更多更全的功能和 ...
 - C# Expression表达式笔记
			
整理了一下表达式树的一些东西,入门足够了 先从ConstantExpression 开始一步一步的来吧 它表示具有常量值的表达式 我们选建一个控制台应用程序 ConstantExpression _ ...
 - UVa 11110 - Equidivisions
			
题目大意:给一个n*n的矩阵,其中放置n个数字,判断四连通的相同数字的个数是否等于n. Flood fill,本来没什么,用dfs判断一下就可以了,可是用scanf读取输入时TLE了,然后看到别人说要 ...
 - [Angular Tutorial] 3-Components
			
在先前的步骤中,我们看到了一个控制器和一个模板如何一起工作来将一个静态的HTML文件转化为动态页面(view).一般说来,这在单页应用中一种非常常见的模式(在Angular应用中尤其是这样): ·客户 ...
 - Bash's Big Day
			
Bash has set out on a journey to become the greatest Pokemon master. To get his first Pokemon, he we ...
 - 使IE6下PNG背景透明的七种方法任你选
			
原文地址:http://blog.csdn.net/mosliang/article/details/6760028 相信如何解决png在ie6下透明的问题困扰了很多人.为了追求更好的页面效果,很多人 ...
 - [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds...
			
INSERT INTO `ftms_active_dealer`(dealer_code,dealer_name,active_id,dealer_state)VALUES('415A1','贺磊'1 ...