2014-12-06 108 views
12

我正在Cloudera羣集上以YARN客戶端模式啓動分佈式Spark應用程序。一段時間後,我在Cloudera Manager上看到一些錯誤。一些執行者斷開連接,並且系統地發生這種情況。我想調試這個問題,但YARN沒有報告內部異常。Spark執行程序登錄YARN

Exception from container-launch with container ID: container_1417503665765_0193_01_000003 and exit code: 1 
ExitCodeException exitCode=1: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:538) 
    at org.apache.hadoop.util.Shell.run(Shell.java:455) 
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:702) 
    at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:196) 
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:299) 
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

如何查看異常的堆棧跟蹤? YARN似乎只報告應用程序異常退出。有沒有辦法看到火花執行器登錄YARN配置?

回答

3

檢查節點管理器的yarn.nodemanager.log-dir財產。這是Spark執行器容器運行時的日誌位置。

注意,當應用程序完成節點管理器可以刪除的文件(日誌聚合)。查看這個文件的細節。 http://hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/

+0

感謝您的回覆。這沒有讓我找到異常的完整堆棧跟蹤,但現在我知道問題的原因(OperationNotSupportedException,只有描述存在於您建議的日誌中)。如果您知道一種方法來查找完整的堆棧跟蹤,請告訴我。 – 2014-12-06 22:06:24

+0

您可能想要捕捉傳遞給變換的函數的異常。 – gonbe 2014-12-06 23:08:07

+0

我想抓住它並將跟蹤轉儲到/ tmp文件夾中的本地文件。我希望有一個更清潔的解決方案.. – 2014-12-06 23:13:16

相關問題