欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oozie 4.0.0 on hadoop2.4.1安装笔记(完整版)  

程序员文章站 2022-06-05 21:24:45
...

oozie版本:4.0.0(开始在官网下载4.0.1的版本,编译一直无法通过,报错说oozie-hadoop-4.0.1的jar,换4.0.0竟然没报错,不解)

hadoop 2.4.1 由于测试集群用了改版本,无奈,原本github上有编译好的oozie,但是最高才3.0,只能支持hadoop 2.0

==================================华丽的分割====================================

1.下载oozie源码[http://archive.apache.org/dist/oozie/4.0.0/]

2.下载ext2.2.zip【http://oozie.apache.org/docs/4.0.1/DG_QuickStart.html】

3.下载http-client和http-core(oozie.war 需要该包,否则server起来后,访问页面会报错)

 

4.解压oozie包后修改pom.xml,jdk改为1.7,hadoop.version改为2.4.1(其它hbase,pig等相应修改)

5.添加环境变量;

------------------------------------------------------------------------------------------------------------------------------

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_INSTALL=/usr/local/hadoop

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export OOZIE_HOME=/opt/oozie

export OOZIE_CONFIG=/opt/oozie/conf

 

PATH=$PATH:$HOME/bin:/usr/local/zookeeper-3.4.6/bin:$HADOOP_HOME/bin:$OOZIE_HOME/bin

------------------------------------------------------------------------------------------------------------------------------

6.编译oozie,进入bin,执行【mkdistro.sh -DskipTests】,进入漫长的编译过程,中间卡住,退出重新编译,直至全部success

7.将编译好的oozie-4.0.0-distro.tar.gz拷出来,解压,创建软链ln -s oozie-4.0.0 oozie[个人习惯,直接使用oozie-4.0.0也可以]

8.进入bin目录,打包可用war:

addtowar.sh -inputwar /opt/oozie/oozie.war -outputwar /opt/oozie/oozie-server/webapps/oozie.war -hadoop 2.4.1 /usr/local/hadoop -extjs /app/oozie/ext-2.2.zip

9.初始化db:

/ooziedb.sh create -sqlfile oozie.sql 

接着执行如下命令,执行oozie数据库脚本文件,初始数据库

 

./oozie-setup.sh db create -run  -sqlfile ./oozie.sql 

10.启动oozie服务:

oozie-run.sh 或者 oozied.sh start

11.访问 http://localhost:11000/oozie/,应该会报错,将之前下载的httpclient和httpcore包拷到oozie-server/webapps/WEB_INF/lib下,重新启动,可以访问到页面了

===========================================测试oozie自带examples=============================

12.将oozie/oozie-examples.tar.gz 解压,这里我们测试shell示例,将job.propertis文件打开,修改下面两个参数:

nameNode=hdfs://hadoop6:9000

 

jobTracker=hadoop6:8032

改之前可以telnet下端口是否可用,不可用检查hadoop的配置

13.修改hadoop的core-site.xml配置,添加:(如果不是root用户,改成当前使用的用户)

<property>

     <name>hadoop.proxyuser.root.hosts</name> 

     <value>*</value>

</property>

<property>

     <name>hadoop.proxyuser.root.groups</name>

     <value>root</value>

 

</property>

14.修改oozie下的配置,如下配置添加到【oozie/conf/hadoop-conf/core-site.xml】:(在hadoop的hadoop/etc/hadoop/mapred-site.xml中找到对应配置)

<property>

        <name>mapreduce.jobhistory.address</name>

        <value>hadoop6:10020</value>

 

    </property>

检查下改端口是否可用,不可用的话,登录到jobtracker所在机器,启动hadoop的服务:【mr-jobhistory-daemon.sh start historyserver】

15.重启下oozie-server服务,将shell下的文件put到hadoop上对应目录【oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/shell】

16.在命令行下提交oozie任务:【oozie job -oozie http://192.168.69.16:11000/oozie/ -config /app/tmp/shell/job.properties -run】

web界面上应该产生了一条job记录!不出意外,应该可以执行成功!