分享

oozie 3.3.2在hadoop 2.2.0下的安装部署,及问题解决


问题导读:
1. 如何在hadoop环境下,安装部署oozie ?
2. oozie 运行时的一些常见问题,及如何解决?








oozie的安装部署及配置感觉不是一般的繁琐,而且层出不穷的bug也弄的我焦头烂额,下面主要讲下我的安装过程及遇到的问题 。

一.必要准备:
1.      Apache的tomcat
2.      mysql-connector-java-5.1.6.jar 或其他版本的mysql-connectorjar包
3.      ext-2.2.zip



二.安装部署
0. 下载oozie-3.3.2的tar包,并解压:tar -xvf oozie-3.3.2.tar。oozie4.0.0安装失败了,原因是oozie-setup.sh一直执行不通过,希望那位大牛的赐教一下。

1.      在解压出来的目录下,修改pom.xml中的hadoop版本为您所需要的版本,我的是hadoop-2.2.0,这一步是因为oozie需要根据hadoop版本进行编译

2.      修改hadooplib下相应的版本目录下的pom.xml文件中的hadoop版本,这个目录下生成的lib待会会用到

3.执行bin/mkdistro.sh –DskipTests,进行编译

4.编译之后可以在OOZIE_HOME/distro/target/下找到oozie-3.3.2-distro,这个就是编译好的版本,我们之后的部署就是部署这个目录下的oozie,若无特别说明,安装目录也是指这个目录

5.oozie安装目录下,解压share,example(可选),clint三个tar包,如下:

oozie-client-3.3.2.tar.gz
oozie-examples.tar.gz
oozie-sharelib-3.3.2.tar.gz

6.把share tar包解压出来的文件夹,share,上传到hdfs的oozie用户下:
         hadoop fs –put share

7.oozie安装目录下新建文件夹libext,在第二步hadooplib目录下找到相应版本,在里边的target目录下可以找到对应的lib目录,把里边的所有jar包copy到新建的libext下

8.添加mysql相关包:
bin/oozie-setup.sh -jars mysql-connector-java-5.1.6.jar -extjs /ext-2.2.zip
注意mysql-connector和ext的jar包路径不要写错

9.添加hadoop相关包
$OOZIE_HOME/bin/oozie-setup.sh -hadoop 2.2.0 ${HADOOP_PREFIX}  -extjs  /ext-2.2.zip

10.把mysql-connector jar包copy到lib,libext下

11.   环境变量
etc/profile:主要是设置oozie,apache,如下

  1. export OOZIE_HOME=/usr/lib/cloud/oozie/oozie
  2. export CATALINA_HOME=/usr/lib/cloud/oozie/apache-tomcat-7.0.42
  3. export PATH="${CATALINA_HOME}"/bin:$PATH
  4. export OOZIE_URL=http://localhost:11000/oozie
  5. export PATH="${OOZIE_HOME}"/bin:${PATH}
复制代码



12.修改oozie-site.Xml文件:添加如下,感觉直接用默认的就好,不需要修改oozie-site.xml


  1. <property>
  2.        <name>oozie.service.JPAService.create.db.schema</name>
  3.        <value>true</value>
  4.        <description>
  5.        </description>
  6.    </property>
复制代码



13. 在hadoop的core-site.xml中添加如下,oozie为用户名,hadoop为oozie所在的组


  1. <property>
  2.    <name>hadoop.proxyuser.oozie.hosts</name>
  3.    <value>192.168.237.128</value>
  4. </property>
  5. <property>
  6.    <name>hadoop.proxyuser.oozie.groups</name>
  7.    <value>hadoop</value>
  8. </property>
复制代码




14.在oozie目录下conf/hadoop-conf下,修改core-site.xml文件,添加:


  1. <property>
  2.    <name>yarn.resourcemanager.address</name>
  3.     <value>baby6:8032</value>
  4.   </property>
  5. <property>
  6.       <name>yarn.resourcemanager.scheduler.address</name>
  7.        <value>master:8030</value>
  8.    </property>
复制代码



15.现在可以启动了,bin下执行oozie-start.sh


启动之后正常的话,可以在网页上看到如下界面,这就表示看上去成功了:





三. 常见的问题:

1.运行的时候报下面的错误:
JA017: Unknown hadoop job [job_1384170946375_0004] associated with action [0000000-131111204232566-oozie-oozi-W@mr-node].  Failing this action!


变种很多,原因就是oozie找不到hadoop job,之前在MR1上运行的好好的,升级成hadoop 2.x.x上就容易出现这个问题。我的解决方法是,把jobhistory的配置相关信息放在oozie的conf/hadoop-conf/core-site.xml中,当然首先你要开启jobhistory。
开启hadoop jobhistory的方式为$HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh start historyserver,估计很多像我一样从hadoop 1.0.4升级上来的用户都会忘掉这一步
把如下信息放到oozie的conf/hadoop-conf/core-site.xml:
  1. <property>
  2.        <name>mapreduce.jobhistory.webapp.address</name>
  3.         <value>baby6:19888</value>
  4.     </property>
  5.   <property>
  6.     <name>mapreduce.jobhistory.intermediate-done-dir</name>
  7.     <value>/user/yarn/tmp</value>
  8.   </property>
  9.   <property>
  10.     <name>mapreduce.jobhistory.done-dir</name>
  11.     <value>/user/yarn/done</value>
  12.   </property>
复制代码





原因我估计是因为oozie-3.3.2对yarn的支持还不够,或者是因为我太弱了。

2.第二点也是因为升级hadoop才出现的,就是jobtracker的问题。hadoop 2.2.0中已经不存在jobtraker一说了,但oozie仍然需要这个参数,这显然还是版本兼容性的问题

解决方法很简单,把该填写jobtracker值的地方都填写上yarn.resourcemanager.address的值,默认的是 baby:8032,baby是你的主机名。一般需要在workflow或者job.properties里边改这个值,并且把yarn.resourcemanager.address写入到oozie的conf/hadoop-conf/core-site.xml里,就像前面第14条所说的。



引用:http://blog.csdn.net/teddeyang/article/details/16339533



欢迎加入about云群90371779322273151432264021 ,云计算爱好者群,亦可关注about云腾讯认证空间||关注本站微信

已有(2)人评论

跳转到指定楼层
jttsai 发表于 2014-8-21 10:12:25
你好,我也遇到
Unknown hadoop job [job_1384170946375_0004] associated with action [0000000-131111204232566-oozie-oozi-W@mr-node].  Failing this action!
这样的问题,也安装你的把historyserver开启了
这是我之前发的帖子:http://www.aboutyun.com/thread-8769-1-1.html
回复

使用道具 举报

wjhdtx 发表于 2014-11-14 14:52:30
哪位同学将oozie4.0.1在hadoop2.5.1下编译成功了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条