0
我ssh給主人,並在控制檯上運行我的hadoop作業用於開發目的。我的工作在一個神祕的方式失敗,有許多Java堆棧跟蹤,使沒有意義的我,見下圖:我在EMR羣集的主服務器上運行的我的python作業失敗,如何排除故障?
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)
今天,我不得不使用這個在EMR任務,即可解決問題。我試圖在S3中找到日誌被轉儲的日誌,並且應該放在名爲「j-XXXXXXXXXXXXXXX/containers/application_151935143321369_0010/container_151239351321369_0010_01_001374/stderr.gz」的文件中,但是對於失敗的任務,此文件不存在。所以我不得不重現這種情況,在失敗後讓集羣繼續運行並遵循方向。 – gae123