2017-07-14 413 views
2

我正在使用azure hdinsight spark2集羣中的以下結構調度oozie作業。 我計劃使用以下以下命令錯誤代碼:JA018在HDInsight中啓動runnnig oozie工作流spark2集羣

oozie job -config /job.properties -run 
oozie job -config /coordinator.properties -run 

的工作,但我收到以下錯誤作爲

Status: ERROR 
Error Code: JA018 
Error Message: Main class [org.apache.oozie.action.hadoop.ShellMain], exit code 

enter image description here

我workflow.xml文件:

<workflow-app name="sparkshellwf" xmlns="uri:oozie:workflow:0.3"> 
    <start to="sparkshellwf"/> 
    <action name="sparkshellwf"> 
    <shell xmlns="uri:oozie:shell-action:0.1"> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <configuration> 
     <property> 
      <name>mapred.job.queue.name</name> 
      <value>${queueName}</value> 
     </property> 
     </configuration> 
     <exec>$SPARK_HOME/bin/spark-submit</exec> 
     <!--Adding all arguments needed/optional for Spark-submit here--> 
     <argument>--class</argument> 
     <argument>${Spark_Driver}</argument> 
     <argument>--master</argument> 
     <argument>${Spark_Master}</argument> 
     <argument>--deploy-mode</argument> 
     <argument>${Spark_Mode}</argument> 
     <argument>--num-executors</argument> 
     <argument>${numExecutors}</argument> 
     <argument>--driver-memory</argument> 
     <argument>${driverMemory}</argument> 
     <argument>--executor-memory</argument> 
     <argument>${executorMemory}</argument> 
     <argument>--executor-cores</argument> 
     <argument>${executorCores}</argument> 
     <argument>${workflowRoot}/lib/${sparkJar}</argument> 
    </shell> 
    <ok to="end"/> 
    <error to="fail"/> 
    </action> 
    <kill name="fail"> 
    <message>Job failed, error message[${wf:errorMessage(wf:lastErrorNode())}] </message> 
    </kill> 
    <end name="end"/> 
</workflow-app> 

但Spark工作正常運行,機智沒有任何錯誤

我得到的oozie響應就像上面一樣。

+0

Oozie報告** **紗**最終狀態不好。可能是最終清理時的錯誤。查看'application _ ******* _ 0038'的紗線日誌(無論ID如何顯示爲外部ID,但用'application'替換了傳統的'job'前綴) –

回答

0
JA018 Error is "output directory exists error" in workflow. 
you can add following code to delete output directory in workfolw.xml. 
<prepare> 
      <delete path="[PATH_of_output directory]"/> 
      ... 
      <mkdir path="[PATH]"/> 
      ... 
</prepare> 
you will get full log using following command 

    oozie job -oozie http://hostname:11000/oozie -log job_id 
    or 
    yarn logs -applicationId <application_ID> 
    You can refer link given below for different error codes 
    https://oozie.apache.org/docs/4.2.0/oozie-default.xml 
+0

您可以從中獲得您的整個示例workflow.xml – sathiyarajan