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工作流的流程规则,贴上具体代码:

<!--

  Copyright (c) 2010 Yahoo! Inc. All rightsreserved.

  Licensed under the Apache License, Version2.0 (the "License");

  you may not use this file except incompliance with the License.

  You may obtain a copy of the License at

 

    http://www.apache.org/licenses/LICENSE-2.0

 

  Unless required by applicable law or agreedto in writing, software

  distributed under the License is distributedon an "AS IS" BASIS,

  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,either express or implied.

  See the License for the specific languagegoverning permissions and

  limitations under the License. Seeaccompanying LICENSE file.

-->

<workflow-appxmlns="uri:oozie:workflow:0.1" name="map-reduce-wf">

    <start to="mr-node"/>

    <action name="mr-node">

        <map-reduce>

           <job-tracker>${jobTracker}</job-tracker>

           <name-node>${nameNode}</name-node>

            <prepare>

                <deletepath="${nameNode}/user/${wf:user()}/${examplesRoot}/output-data/${outputDir}"/>

            </prepare>

            <configuration>

                <property>

                   <name>mapred.job.queue.name</name>

                   <value>${queueName}</value>

                </property>

                <property>

                   <name>mapred.mapper.class</name>

                   <value>org.apache.oozie.example.SampleMapper</value>

                </property>

                <property>

                   <name>mapred.reducer.class</name>

                   <value>org.apache.oozie.example.SampleReducer</value>

                </property>

                <property>

                   <name>mapred.map.tasks</name>

                   <value>1</value>

                </property>

                <property>

                   <name>mapred.input.dir</name>

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

                </property>

                <property>

                   <name>mapred.output.dir</name>

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

                </property>

            </configuration>

        </map-reduce>

        <ok to="end"/>

        <error to="fail"/>

    </action>

    <kill name="fail">

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

    </kill>

    <end name="end"/>

</workflow-app>

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

         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,就可以看到任务的执行状况。

截图:

任务进行中:



任务完成:






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值