如何解决了java.lang.RuntimeException:PipeMapRed.waitOut

2019-09-02 01:57发布

我试图在Hadoop的环境中执行NLTK。 以下是我用于执行该命令。

bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.4.jar -input /user/nltk/input/ -output /user/nltk/output1/ -file /home/hduser/softwares/NLTK/unsupervised_sentiment-master.zip -mapper /home/hduser/softwares/NLTK/unsupervised_sentiment-master/sentiment.py

unsupervised_sentiment-master.zip ---包含所有sentiment.py所需的相关文件

我正进入(状态

java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 2
    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:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    at org.apache.hadoop.mapred.Child.main(Child.java:249)

任何帮助将不胜感激!!!

Answer 1:

你可以请发布Python文件? 我的猜测是,您需要添加#!的/ usr /斌/ Python中的PY文件的顶部。 确实是这样。当我使用python流。

最好的一天



Answer 2:

下面的添加行python脚本的顶部使得代码为我工作。

#!的/ usr / bin中/蟒蛇



Answer 3:

我不能说你的错误是什么,但我是,我在我的Python脚本未解决的依赖。 即statsmodels。



Answer 4:

在你sentiment.py文件,下面一行添加到顶部:

```

!在/ usr /斌/包膜蟒蛇

```

这为我工作。



文章来源: How to resolve java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess failed with code 2?