oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

以下是步骤:

编译好的oozie链接:https://download.****.net/download/u013205089/11644697

 

1.将编译好的oozie-4.2.0-distro.tar.gz解压到/opt下

2、修改/opt/oozie-4.2.0/conf下的 oozie-site.xml文件,在oozie-site.xml中增加以下配置信息:

<property>

    <name>oozie.service.JPAService.create.db.schema</name>

    <value>true</value>

</property>

<property>

    <name>oozie.service.JPAService.jdbc.driver</name>

    <value>com.mysql.jdbc.Driver</value>

</property>

<property>

    <name>oozie.service.JPAService.jdbc.url</name>

        <value>jdbc:mysql://master:3306/oozie?createDatabaseIfNotExist=true</value> #master是当前服务器的hostname

</property>

<property>

    <name>oozie.service.JPAService.jdbc.username</name>

    <value>root</value>

</property>

<property>

    <name>oozie.service.JPAService.jdbc.password</name>

    <value>111111</value>

</property>

<property>

    <name>oozie.service.HadoopAccessorService.hadoop.configurations</name>

    <value>*=/opt1/hadoop-2.7.2/etc/hadoop</value>

</property>

<property>

    <name>oozie.service.SparkConfigurationService.spark.configurations</name>

    <value>*=/opt1/spark-2.2.0/conf</value>

</property>

<property>

    <name>oozie.service.WorkflowAppService.system.libpath</name>

    <value>hdfs:/user/${user.name}/share/lib</value>

</property>

<property>

     <name>oozie.use.system.libpath</name>

     <value>true</value>

</property>

<property>

     <name>oozie.subworkflow.classpath.inheritance</name>

     <value>true</value>

</property>

<property>

 

     <name>oozie.service.HadoopAccessorService.supported.filesystems</name>

     <value>hdfs,hftp,webhdfs</value>

</property>

</configuration> 

 

3、在Hadoop配置文件的core-site.xml中增加如下配置信息。注意:修改完后,需要重启hadoop。

  <property>

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

        <value>*</value>

    </property>

    <property>

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

        <value>*</value>

</property>

4.

a. 在/opt/oozie-4.2.0目录下创建一个libext目录,

mkdir /opt/oozie-4.2.0/libext

b. 将hadoop里面的包复制到libext文件夹中:

  cp /opt/hadoop-2.7.12/share/hadoop/*/lib/*.jar libext/

  cp /opt/hadoop-2.7.2/share/hadoop/*/*.jar libext/

c. 将提供的“其他依赖”里面提到的包拷贝进来

     cp ../mysql-connector-java-5.x.x.jar libext/ (MySQL驱动包)

     cp ../ext-2.2.zip libext/ (Oozie客户端的插件)

d. 然后把libext 里面一系列和hadoop冲突的包丢掉:

cd libext

mv servlet-api-2.5.jar servlet-api-2.5.jar.bak

mv jsp-api-2.1.jar jsp-api-2.1.jar.bak

mv jasper-compiler-5.5.23.jar jasper-compiler-5.5.23.jar.bak

mv jasper-runtime-5.5.23.jar jasper-runtime-5.5.23.jar.bak

mv slf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bak

 

5. 打包oozie.war

 在/opt/oozie-4.2.0 下执行:

./bin/oozie-setup.sh prepare-war

6.修改oozie-env.sh

 vim conf/oozie-env.sh

添加:

export JAVA_HOME=/opt1/jdk1.8.0_201

export OOZIE_PREFIX=/opt1/oozie-4.2.0

export OOZIE_CONF_DIR=/opt1/oozie-4.2.0/conf/

export OOZIE_HOME=/opt1/oozie-4.2.0

export HADOOP_CONF_DIR=/opt1/hadoop-2.7.2/etc/hadoop

export CLASSPATH=$CLASSPATH:$OOZIE_HOME/libext/*.jar

 

7.mysql建表

在/opt/oozie-4.2.0 下执行:

./bin/ooziedb.sh create -sqlfile oozie.sql -run

(如果报错的话,需要手动进入mysql,删除表,再执行一下)

8. 安装oozie-sharelib。

1) 在oozie-4.2.0目录下有一个 oozie-sharelib-4.2.0.tar.gz。使用tar -zxvf oozie-sharelib-4.2.0.tar.gz将它解压。解压出后是一个share目录

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

2)上传到hdfs文件系统

hadoop fs –copyFromLocal share /user/root

(这边如果当前登录的是非root用户,比方test,则上传到/user/test 下)

9. 启动jobhistory并查看所有进程

       在hadoop-x.x.x 下执行

./sbin/mr-jobhistory-daemon.sh start historyserver, 启动jobhistory进程,oozie调度任务需要进行利用.

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

10.启动oozie

/opt/oozie-4.2.0/bin/oozied.sh start

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

11.启动完成后,查看状态:

在oozie-4.2.0 目录下:

./bin/oozie admin -oozie http://master:11000/oozie -status

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

 

12.浏览器访问:

http://xx.xx.xx.xx(服务器ip):11000/oozie

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

 

13.oozie client安装

Oozie server 安装中已经包括了Oozie client。如果想要在其他机子上也使用Oozie,那么只要在那些机子上安装Oozei的client即可。

在oozie-4.2.0 目录下找到oozie-client-4.2.0.tar.gz,将它复制到需要安装oozie client的机子上,解压后,就可以直接用oozie来操作了。

tar zxvf  oozie-client-4.2.0.tar.gz -C /opt

14.运行oozie自带实例:map-reduce

在oozie-4.2.0 目录下找到oozie-examples.tar.gz ,

执行:tar -xvf oozie-examples.tar.gz,目录下增加example目录。

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

打开目录:cd examples/apps/map-reduce,修改job.properties文件:

vim properties 

修改

nameNode=hdfs://xx.xx.xx.xx(hdfs名称)

jobTracker=master:8032

queueName=default

examplesRoot=examples

 

oozie.wf.application.path=hdfs://xx.xx.xx.xx:xx/user/${user.name}/${examplesRoot}/apps/map-reduce/workflow.xml

outputDir=map-reduce

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

 

 

15. 将examples这个文件上传到hdfs中的/user/${user.name} 中,采用的是root这个用户,就是/user/root

 

16.执行命令:

./bin/oozie job -oozie http://13.10.20.12:11000/oozie -config job.properties –run

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

 

查看状态:

./bin/oozie job -oozie http://xx.xx.xx.xx:11000/oozie -config job.properties -info 0000003-190705110145946-oozie-root-W

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)

 

 

网页显示:

oozie-4.2.0搭建与使用(结合hadoop-2.7.2,spark-2.2.0)