【问题标题】:Oozie Reduce Join does not workOozie 减少连接不起作用
【发布时间】:2016-03-08 21:44:13
【问题描述】:

我安装了 OOZIE 并且可以运行它,但是我在 OOZIE 和我的项目中遇到了另一个问题: Java 代码可以正常工作,但是当我尝试在 Oozie 中实现它时,它就不再工作了。我在 Oozie 中的地图相位输出规范有问题,但我不知道是什么问题。

我的 jar 文件(名称 wordcount1.jar)包括:
--JoinMapper$MovieMapper
--JoinMapper$FigureMapper
--JoinReducer

这是我的错误日志:
2016-03-09 01:24:30,441 INFO CallbackServlet:539 - USER[-] GROUP[-] TOKEN[-] APP[-] JOB[0000017-160308222246102-oozie-oozi-W] ACTION[0000017-160308222246102-oozie -oozi-W@wordcount1] 回调操作 [0000017-160308222246102-oozie-oozi-W@wordcount1]
2016-03-09 01:24:30,812 信息 MapReduceActionExecutor:539 - 用户 [培训] 组 [-] 令牌 [] 应用程序 [示例工作流] 工作 [0000017-160308222246102-oozie-oozi-W] 操作 [0000017-160308222246102- oozie-oozi-W@wordcount1] 操作已完成,外部 ID [job_201603082221_0037]
2016-03-09 01:24:30,912 WARN MapReduceActionExecutor:542 - USER[training] GROUP[-] TOKEN[] APP[example-workflow] JOB[0000017-160308222246102-oozie-oozi-W] ACTION[0000017-160308222246102- oozie-oozi-W@wordcount1] 启动器错误,原因:主类 [org.apache.oozie.action.hadoop.MapReduceMain],main() 抛出异常,null
2016-03-09 01:24:31,120 信息 ActionEndXCommand:539 - USER[training] GROUP[-] TOKEN[] APP[example-workflow] JOB[0000017-160308222246102-oozie-oozi-W] ACTION[0000017-160308222246102- oozie-oozi-W@wordcount1] 错误被视为 SLA 失败
2016-03-09 01:24:31,250 信息 ActionStartXCommand:539 - 用户 [培训] 组 [-] 令牌 [] 应用程序 [示例工作流程] 作业 [0000017-160308222246102-oozie-oozi-W] ..
我有以下 job.properties 文件:

nameNode=hdfs://localhost:8020
jobTracker=localhost:8021
queueName=default
examplesRoot=joinoozie
oozie.use.system.libpath=true
oozie.wf.application.path=${nameNode}/user/training/${examplesRoot}
inputDir1=movies1
inputDir2=figures1

我的workflow.xml文件如下:
<workflow-app name="example-workflow" xmlns="uri:oozie:workflow:0.4"> <start to="wordcount1" /> <!-- WordCount MapReduce job --> <action name="wordcount1"> <map-reduce> <job-tracker>${jobTracker}</job-tracker> <name-node>${nameNode}</name-node> <prepare>
</prepare> <configuration> <property> <name>mapred.mapper.new-api</name> <value>true</value> </property> <property> <name>mapred.reducer.new-api</name> <value>true</value> </property>
<property> <name>mapred.job.queue.name</name> <value>${queueName}</value> </property>
<property> <name>mapreduce.inputformat.class</name> <value>org.apache.hadoop.mapreduce.lib.input.DelegatingInputFormat</value> </property> <property> <name>mapreduce.map.class</name> <value>org.apache.hadoop.mapreduce.lib.input.DelegatingMapper</value> </property> <property> <name>mapreduce.input.multipleinputs.dir.formats</name> <value>${inputDir1};org.apache.hadoop.mapred.TextInputFormat,${inputDir2};org.apache.hadoop.mapred.TextInputFormat</value> </property>
<property> <name>mapreduce.input.multipleinputs.dir.mappers</name> <value>${inputDir1};JoinMapper$MovieMapper,${inputDir2};JoinMapper$FigureMapper</value> </property>
<property> <name>mapreduce.reduce.class</name> <value>JoinReducer</value> </property>
<property> <name>mapred.output.dir</name> <value>output_oozie</value> </property> </configuration> </map-reduce>
<ok to="end" /> <error to='end'/> </action> <end name="end" /> </workflow-app>

有人可以帮我解决这个问题吗?会很棒..
谢谢, 安迪

【问题讨论】:

  • 我发现一个提示“需要使用 WF 作业默认配置复制 actionConf。” - 有人知道 actionConf 需要存储在哪里吗?

标签: hadoop mapreduce oozie


【解决方案1】:

Oozie 提供了一组默认属性,对应于工作流中不同的操作类型。您可以阅读有关设置属性的位置和顺序的更多信息here

【讨论】:

  • 如果答案有帮助,您可以投票并将其标记为答案吗?它可能会帮助遇到类似问题的其他人。
猜你喜欢
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多