2017-07-26 50 views
0

我有一個簡單的工作流程(見下文),它運行一個shell腳本。 shell腳本運行pyspark腳本,該腳本將文件從本地移動到hdfs文件夾。Oozie從shell作業行爲中禁止登錄?

當我運行shell腳本本身時,它完美地工作,日誌通過在shell腳本中> spark.txt 2> & 1重定向到一個文件夾。

但是,當我提交oozie工作與以下工作流,從殼的輸出似乎被抑制。我試圖重定向所有可能的oozie日誌(-verbose -log)> oozie.txt 2> & 1,但它沒有幫助。

工作流成功完成(狀態SUCCESSEDED,沒有錯誤日誌),但我看到,該文件夾沒有複製到hdfs,但是當我獨自運行它(不通過oozie),一切都很好。

<action name="forceLoadFromLocal2hdfs"> 
<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>driver-script.sh</exec> 
    <argument>s</argument> 
    <argument>script.py</argument> 
    <!-- arguments for py script --> 
    <argument>hdfsPath</argument> 
    <argument>localPath</argument> 
    <file>driver-script.sh#driver-script.sh</file> 
</shell> 
<ok to="end"/> 
<error to="killAction"/> 

THX很多!

編輯:THX的意見,我發現完整日誌

yarn -logs -applicationId [application_xxxxxx_xxxx] 
+1

Oozie的作業紗線容器內運行,與標準錯誤/ StdOut被重定向到該容器的** YARN日誌**(一大堆Oozie調試信息也被StdOut注入;你的應用程序輸出得到一個特定的前綴,這樣你就可以將它從混亂中解脫出來)。 –

+1

參考我有關如何從YARN命令行訪問這些日誌的詳細信息,請訪問https://stackoverflow.com/questions/34344114/oozie-launch-map-reduce-from-oozie-java-action/34359732。或者,使用HUE儀表板點擊您從Oozie工作流程到Oozie操作,YARN應用程序,然後到YARN應用程序日誌的方式。 –

+0

Thx。我做了紗線 - 日誌... thx –

回答

0

THX的建議下,我發現完整的日誌下

yarn -logs -applicationId [application_xxxxxx_xxxx]