我正在 Cloudera 集群上以 YARN 客户端模式启动分布式 Spark 应用程序。一段时间后,我在 Cloudera Manager 上看到了一些错误。一些执行程序断开连接,这会系统地发生。我想调试该问题,但 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 配置中查看 spark 执行程序日志?
最佳答案
检查 NodeManager 的 yarn.nodemanager.log-dir
属性(property)。它是 Spark 执行器容器运行时的日志位置。
请注意,当应用程序完成时,NodeManager 可能会删除文件(日志聚合)。查看此文档以了解详细信息。 http://hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/
关于apache-spark - Spark 执行器登录 YARN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27336265/