oozie上传实例解读

前些天oozie的安装已经全部完成了,下面我们来看看上传实例,oozie自带的有oozie的几个实例,这里我们以map-reduce为例讲解,初步了解下oozie的使用。

1.解压oozie-examples.tar文件:

tar-zxvf oozie-examples.tar

然后会解压出一个examples文件夹,在里面找到map-reduce文件夹。

2.看到该文件夹下有下面几个文件:

workflow.xml、job.properties和lib,下面我就具体说下这几个文件都是什么。

job.properties,这里提供了workflow.xml中所需要的参数,oozie在运行时,首先会调用job.properties来读取参数,具体内容如下:

nameNode=hdfs://localhost:8020

jobTracker=localhost:8021

queueName=default

examplesRoot=examples

 

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce

outputDir=map-reduce

这里的内容和我们实际搭建的环境不服,需要求改:

namenode改成hadoop的namenode地址,jobTracker同理。这里我们看到这样一个参数“oozie.wf.application.path”,这个参数是致命一个地址,这个地址就是oozie提交的实例需要存在于这个路径下。下面是我修改后的具体内容:

nameNode=hdfs://192.168.132.2:9000

jobTracker=192.168.132.2:9001

queueName=default

examplesRoot=examples

 

oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce

outputDir=map-reduce

workflow.xml这个文件说明了oozie工作流的流程规则,贴上具体代码:

   

   

       

           ${jobTracker}

           ${nameNode}

           

               

           

            

               

                   mapred.job.queue.name

                   ${queueName}

               

               

                   mapred.mapper.class

                   org.apache.oozie.example.SampleMapper

               

               

                   mapred.reducer.class

                   org.apache.oozie.example.SampleReducer

               

               

                   mapred.map.tasks

                   1

               

               

                   mapred.input.dir

                   /user/${wf:user()}/${examplesRoot}/input-data/text

               

               

                   mapred.output.dir

                   /user/${wf:user()}/${examplesRoot}/output-data/${outputDir}

               

           

       

       

       

   

   

        Map/Reduce failed, errormessage[${wf:errorMessage(wf:lastErrorNode())}]

   

   

具体内容根据自己的需求来写,这个是实例,什么都不需要更改。

         lib文件中保存的是需要的map-reduce的jar包。

         下面我们就可以把这些文件上传到hadoop上:

$hadoopfs -mkdir /user/hadoop

$hadoopfs -put /usr/oozie/examples /user/hadoop/

         这样我们的实例就全部上传上去了。然后我们可以执行下oozie:

ooziejob -oozie http://192.168.132.2:11000/oozie -config/usr/oozie/examples/apps/map-reduce/job.properties -run

         之后我们会得到一个id,这个id就是job的id,然后登陆192.168.132.2:11000/oozie,就可以看到任务的执行状况。

截图:

任务进行中:

oozie上传实例解读_第1张图片

oozie上传实例解读_第2张图片

任务完成:


oozie上传实例解读_第3张图片

oozie上传实例解读_第4张图片

oozie上传实例解读_第5张图片


你可能感兴趣的:(hadoop-oozie)