2016-09-23 7 views
0

私はdistcp操作を実行している怠惰なワークフローを持っています。 ワークフローファイルは以下の通りです:oozie distcp job execution

<workflow-app xmlns="uri:oozie:workflow:0.3" name="distcp-wf"> 
<start to="distcp-node"/> 
<action name="distcp-node"> 
    <distcp xmlns="uri:oozie:distcp-action:0.1"> 
     <job-tracker>${jobtracker}</job-tracker> 
     <name-node>${namenode}</name-node> 
     <prepare> 
      <delete path="${namenode}/tmp/mohit/"/> 
     </prepare> 
     <configuration> 
      <property> 
       <name>mapred.job.queue.name</name> 
       <value>${queue_name}</value> 
      </property> 
     </configuration> 
     <arg>-m 1</arg> 
     <arg>${number_of_mapper}</arg> 
     <arg>-skipcrccheck</arg> 
     <arg>${namenode}/tmp/mohit/data.txt</arg> 
     </distcp> 
    <ok to="end"/> 
    <error to="fail"/> 
</action> 
<kill name="fail"> 
    <message>DistCP failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
</kill> 
<end name="end"/> 

私はdistcpを使用して-m使ってマッパーの数を設定します。 は、どのように私は

<arg>-m 1</arg> 

<arg>1<arg> 

で試してみました。しかし私のために働いていなかったことを行うことができます。 私が取得していますエラーは以下の通りである:

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.DistcpMain], main() threw exception, Returned value from distcp is non-zero (-1) 
     java.lang.RuntimeException: Returned value from distcp is non-zero (-1) 
+0

-m 'のようなものを試しましたか? – YoungHobbit

+0

はい私もそれを試みた。 –

答えて

1

argsが入力/出力のために、第1引数が入力され、第二の引数を示しdocumentation

に記載されているように、出力を示し

生産/減速の数を変更するため

例えばconfigurationを使用:

<configuration> 
      <property> 
       <name>mapred.reduce.tasks</name> 
       <value>${firstJobReducers}</value> 
      </property> 
</configuration> 
+0

firstJobReducersの値は数値になり、プロパティファイルに設定する必要があります。 –

+0

@MohitRaneあなたはあなたの例でやったように、wfアクションの中でそれを設定することができます。あるいは、wf全体のプロパティファイルを使用します – Mzf

関連する問題