2016-03-08 66 views
0

我安裝了OOZIE並且可以運行它,但是我又遇到了OOZIE和我的項目的另一個問題: Java代碼正常工作,但是當我嘗試在Oozie中實現時,它不起作用任何更多。 Oozie中的地圖相位輸出規範有些問題,但我不知道是什麼。

我的jar文件(名稱wordcount1.jar)包括:
--JoinMapper $ MovieMapper
--JoinMapper $ FigureMapper
--JoinReducer
Oozie Reduce Join不起作用

這是我的錯誤日誌:
2016- 03-09 01:24:30,441 INFO CallbackServlet:539 - USER [ - ] GROUP [ - ] TOKEN [ - ] APP [ - ] JOB [0000017-160308222246102-oozie-oozi-W]操作[0000017-160308222246102-oozie-oozi -W @ wordcount1]回覆行動[0000017-160308222246102-oozie-oozi-W @ wordcount1]
2016-03-09 01:24:30,812 INFO MapReduceActionExecutor:539 - USER [training] GR [0000017-160308222246102-oozie-oozi-W]動作[0000017-160308222246102-oozie-oozi-W @ wordcount1]動作完成,外部ID [作業_201603082221_0037]
2016 -03-09 01:24:30,912警告MapReduceActionExecutor:542 - USER [training] GROUP [ - ] TOKEN [] APP [example-workflow]作業[0000017-160308222246102-oozie-oozi-W]作業[0000017-160308222246102-oozie -oozi-W @ wordcount1]啓動器ERROR,原因:主類[org.apache.oozie.action.hadoop.MapReduceMain],main()引發異常,null
2016-03-09 01:24:31,120 INFO ActionEndXCommand: 539 - USER [培訓] GROUP [ - ] TOKEN [] APP [示例 - 工作流程]作業[0000017-160308222246102-oozie-oozi-W]操作[0000017-160308222246102-oozie-oozi-W @ wordcount1]錯誤被認爲是FAILED SLA
2016-03-09 01:24:31,250 INFO ActionStartXCommand:539 - USER [training] GROUP [ - ]標記[] APP [例如工作流] JOB [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>

請問有人可以幫我解決這個問題嗎?會很好..
謝謝, Andi

+0

我發現了一條提示:「actionConf需要用WF Job默認配置複製。」 - 有人知道actionConf需要存儲在哪裏嗎? –

回答

0

Oozie提供了一組默認的屬性,對應於工作流中的不同操作類型。你可以閱讀更多關於位置和設置屬性的順序here

+0

謝謝..幫助 –

+0

如果答案有幫助,你可以upvote並將其標記爲答案?它可能會幫助其他遇到類似問題的人。 – rahulbmv