视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oozie3.3.2在hadoop2.2.0下的安装部署,及问题解决
2020-11-09 08:18:08 责编:小采
文档

oozie的安装部署及配置感觉不是一般的繁琐,而且层出不穷的bug也弄的我焦头烂额,下面主要讲下我的安装过程及遇到的问题 一.必要准备: 1.Apache的tomcat 2. mysql-connector-java-5.1.6.jar 或其他版本的 mysql-connectorjar 包 3.ext-2.2.zip 二.安装部

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,如下

export OOZIE_HOME=/usr/lib/cloud/oozie/oozie

export CATALINA_HOME=/usr/lib/cloud/oozie/apache-tomcat-7.0.42

export PATH="${CATALINA_HOME}"/bin:$PATH

export OOZIE_URL=http://localhost:11000/oozie

export PATH="${OOZIE_HOME}"/bin:${PATH}

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

oozie.service.JPAService.create.db.schema

true

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

hadoop.proxyuser.oozie.hosts

192.168.237.128

hadoop.proxyuser.oozie.groups

hadoop

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

yarn.resourcemanager.address

baby6:8032

yarn.resourcemanager.scheduler.address

master:8030

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:


mapreduce.jobhistory.webapp.address
baby6:19888


mapreduce.jobhistory.intermediate-done-dir
/user/yarn/tmp


mapreduce.jobhistory.done-dir
/user/yarn/done


原因我估计是因为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条所说的

下载本文
显示全文
专题