概述

当前开源的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配置安装与原理的更多相关文章

  1. 【Oozie】安装配置Oozie

    安装和配置Oozie Oozie用于Hadoop的工作流配置: 参考链接: <Install and Configure Apache Oozie Workflow Scheduler for ...

  2. node环境配置安装(nvm)

    在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...

  3. Oozie的安装过程

    依赖CDH5,JDK和关系数据库 集群规划 主机名   IP                      Ooize节点 CHD1    XX.XX.XX.XX  oozie server,oozie ...

  4. pxe网络安装操作系统 原理与详细过程

    摘要:在实际工作中,我们经常会遇到这样的情况:想要安装Linux但是计算机不带光驱或软驱,或者是笔记本配置的非标准的软驱和光驱,如1394接口,USB接口等,在Linux安装时所引导的Linux内核一 ...

  5. Nagios配置安装详解

    nagios.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,.1);borde ...

  6. 马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  7. 马士兵hadoop第四课:Yarn和Map/Reduce配置启动和原理讲解(转)

    马士兵hadoop第一课:虚拟机搭建和安装hadoop及启动 马士兵hadoop第二课:hdfs集群集中管理和hadoop文件操作 马士兵hadoop第三课:java开发hdfs 马士兵hadoop第 ...

  8. hadoop高可用安装和原理详解

    本篇主要从hdfs的namenode和resourcemanager的高可用进行安装和原理的阐述. 一.HA安装 1.基本环境准备 1.1.1.centos7虚拟机安装,详情见VMware安装Cent ...

  9. Winserver2012下mysql 5.7解压版(zip)配置安装

    一.安装 下载mysqlzip版本mysql不需要运行可执行文件,解压即可,下载zip版本mysqlmsi版本mysql双击文件即可安装,相对简单,本文不介绍此版本安装 配置环境变量打开环境变量配置页 ...

随机推荐

  1. Codeforces 242E:XOR on Segment(位上的线段树)

    http://codeforces.com/problemset/problem/242/E 题意:给出初始n个数,还有m个操作,操作一种是区间求和,一种是区间xor x. 思路:昨天比赛出的一道类似 ...

  2. bzoj-4318 OSU! 【数学期望】

    Description osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...

  3. iOS开发UITableView基本使用方法总结 分类: ios技术 2015-04-03 17:51 68人阅读 评论(0) 收藏

    本文为大家呈现了iOS开发中UITableView基本使用方法总结.首先,Controller需要实现两个delegate ,分别是UITableViewDelegate 和UITableViewDa ...

  4. Apache Bench安装与使用

    一.Apache Bench简介 ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab.ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并 ...

  5. 1)Java学习笔记:接口和抽象类的异同

    Java接口和抽象类很像,他们有哪些相同点和异同点呢,下面我们做一个小结 相同 ① 都不能被实例化,都位于继承树的顶端,用于被实现或者继承 ② 都可以包含抽象方法,实现接口或者继承抽象类的普通子类都必 ...

  6. graphical Layout调大一点

    布局最右边的放大器按钮好难找啊

  7. Grunt构建工具插件篇——之less工具2

    Grunt任务分为两部分,一部分是任务,即Grunt要执行的代码,找到对应功能的插件就成.所以等会要下载grunt-contrib- less包,这个插件便是把less文件编译成能直接使用的css.另 ...

  8. IE6滤镜在实战测试中能让父层里面的子元素产生阴影

    1.写法一: <div class="cornerbg">    <p class="title-file">------</p& ...

  9. Selenium2(java)框架设计 九

    设计框架原则: 数据分离,业务层和逻辑层不要混杂在一起. 设计图: 框架结构初始化: com.wymall.test:这是存放这个框架源代码的根目录 base:里面有个基类(BaseParpaare. ...

  10. HDU-1275-两车追及或相遇问题(数学题目)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1275 这题是一个数学题目,知道两个公式那就好办了: 对头相遇时:time*(v1+v2)=d*(2*i ...