我在EMR集群主服务器上运行的python作业失败了,如何进行故障排除?

2024-06-07 17:57:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用ssh连接到主机,并在控制台上运行hadoop作业以进行开发。我的工作以一种神秘的方式失败,许多java堆栈跟踪对我来说毫无意义,请参见以下内容:

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 143
at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:322)
at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:535)
at org.apache.hadoop.streaming.PipeMapper.map(PipeMapper.java:120)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:34)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:455)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:344)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698)

Tags: runorghadoopapachejavaatsecuritystreaming
1条回答
网友
1楼 · 发布于 2024-06-07 17:57:52

查看日志以查找python代码中的错误。对于EMR/yarn,您可以从WEB UI或集群主shell上找到日志,如下所示(当作业开始时,您的应用程序id将与打印的应用程序id不同)。有很多输出,重定向到一个文件,我显示和搜索python堆栈跟踪,看看你的应用程序出了什么问题。所有这些堆栈跟踪通常表明至少有一个reduce进程失败,但该进程的stderr没有显示在CLI/shell输出中。你知道吗

$ yarn logs -applicationId application_1503951120983_0031 > /tmp/log 

相关问题 更多 >

    热门问题