0

シェル スクリプトで Naives Bayes 分類子を正常に実装しましたが、約 300,000 行を処理するマッパー (hadoop ストリーミング) として実行しようとすると、次のエラーが発生します。

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 のメモリ制約であるべきだという予感があります。

4

1 に答える 1

0

ここで参照されているサブプロセスは、おそらくシェル スクリプトです。その最後のコマンドは、254 を返す可能性が最も高いです。

于 2012-07-26T14:32:51.987 に答える