hadoop流错误

时间:2012-07-26 12:51:35

标签: hadoop streaming

我已成功在shell脚本中实现了Naives Bayes分类器,但是当我尝试将其作为映射器(hadoop streaming)运行以处理大约300,000行时,我得到以下错误:

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 254
    at org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362)
    at org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:576)
    at org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:135)
    at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
    at org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:372)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)

日志具有相同的功能,不包含任何其他额外的调试信息。

有什么建议吗?我有一种预感,它应该是hadoop的内存约束。

1 个答案:

答案 0 :(得分:0)

这里提到的子流程很可能是你的shell脚本。 其中的最后一个命令很可能返回254。