2017-08-10 77 views
2

運行我上線運行的火花。重定向到日誌容器服務器時,查看已完成的火花作業日誌上紗

我的火花版本是有2.1.1,和Hadoop版本的Apache Hadoop的2.7.3。

當在集羣模式下紗線行走火花的工作,我可以通過標準輸出/標準錯誤鏈接查看執行程序的日誌像

http://hadoop-slave1:8042/node/containerlogs/container_1500432603585_0148_01_000001/hadoop/stderr?start=-4096 

但是當工作完成後,通過標準輸出/標準錯誤查看執行程序的日誌鏈接會得到一個錯誤頁面像

重定向到日誌服務器container_1500432603585_0148_01_000001

java.lang.Exception的:未知的容器。容器或者沒有 已啓動或已經完成或者不屬於此節點的所有 。

,然後它會自動重定向到

http://hadoop-slave1:8042/node/hadoop-master:19888/jobhistory/logs/hadoop-slave1:36207/container_1500432603585_0148_01_000001/container_1500432603585_0148_01_000001/hadoop 

,並得到其他錯誤網頁像

Sorry, got error 404 
Please consult RFC 2616 for meanings of the error code. 

Error Details 

org.apache.hadoop.yarn.webapp.WebAppException: /hadoop-master:19888/jobhistory/logs/hadoop-slave1:50284/container_1500432603585_0145_01_000002/container_1500432603585_0145_01_000002/oryx: controller for hadoop-master:19888 not found 
     at org.apache.hadoop.yarn.webapp.Router.resolveDefault(Router.java:232) 
     at org.apache.hadoop.yarn.webapp.Router.resolve(Router.java:140) 
     at org.apache.hadoop.yarn.webapp.Dispatcher.service(Dispatcher.java:134) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
     at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) 

其實我可以使用這個網址訪問該執行程序的日誌時 火花作業已完成:

http://hadoop-master:19888/jobhistory/logs/hadoop-slave1:36207/container_1500432603585_0148_01_000001/container_1500432603585_0148_01_000001/hadoop 

it與之前的url有點不同,它刪除頭部「hadoop-slave1:8042/node /」。

有誰知道另一種更好的方法來查看日誌火花時,火花作業已完成?

我已經的ConfigEd紗線的site.xml

<property> 
     <name>yarn.resourcemanager.hostname</name> 
     <value>hadoop-master</value> 
     <description>The hostname of the RM.</description> 
    </property> 

    <property> 
     <name>yarn.log-aggregation-enable</name> 
     <value>true</value> 
    </property> 

    <property> 
     <name>yarn.log.server.url</name> 
     <value>${yarn.resourcemanager.hostname}:19888/jobhistory/logs</value> 
    </property> 

和mapred-site.xml中

<property> 
    <name>mapreduce.jobhistory.address</name> 
    <value>${yarn.resourcemanager.hostname}:10020</value> 
    </property> 

    <property> 
    <name>mapreduce.jobhistory.admin.address </name> 
    <value>${yarn.resourcemanager.hostname}:10033</value> 
    </property> 

    <property> 
    <name>mapreduce.jobhistory.webapp.address</name> 
    <value>${yarn.resourcemanager.hostname}:19888</value> 
    </property> 
+0

您可以用'紗日誌 - 的applicationID application_id'看到完整的應用程序日誌。 –

+0

我需要從紗網用戶界面查看日誌。有人可能沒有執行「紗線日誌」命令的權限。 – michaelxu

回答

0

我有遇到這樣的situation.view完成的火花通過YARN UI 熱氣騰騰的作業日誌歷史記錄選項卡,但在下面會出錯:

嘗試構建redire時失敗ct url到日誌服務器。日誌服務器URL可能未配置 java.lang.Exception:未知的容器。容器或者還沒有啓動,或者已經完成或根本不屬於該節點。

解決的辦法是配置文件紗線的site.xml。添加關鍵yarn.log.server.url

<property> 
<name>yarn.log.server.url</name>   
<value>http://<LOG_SERVER_HOSTNAME>:19888/jobhistory/logs</value> 
</property> 

然後重啓紗線集羣重新裝入紗的site.xml(!這一步很重要)