Hadoop流式处理任务失败 我有一个比较简单的程序,用C++编写,我用Hadoop流进行MapReduce作业(我的Hadoop版本是Cloudera)。

Hadoop流式处理任务失败 我有一个比较简单的程序,用C++编写,我用Hadoop流进行MapReduce作业(我的Hadoop版本是Cloudera)。,hadoop,cloudera,hadoop-streaming,Hadoop,Cloudera,Hadoop Streaming,最近,我发现很多流式任务都在不断失败,并由任务跟踪器重新启动,而它们最终成功完成。我跟踪了用户日志,似乎有些MapReduce任务的输入为零。具体而言,错误消息如下所示: HOST=null USER=mapred HADOOP_USER=null last Hadoop input: |null| last tool output: |TCGA-06-0216-0000024576-0000008192 0 27743 10716| Date: Sun Apr 29 15:55:5

最近,我发现很多流式任务都在不断失败,并由任务跟踪器重新启动,而它们最终成功完成。我跟踪了用户日志,似乎有些MapReduce任务的输入为零。具体而言,错误消息如下所示:

HOST=null
USER=mapred
HADOOP_USER=null
last Hadoop input: |null|
last tool output: |TCGA-06-0216-0000024576-0000008192   0   27743   10716|
Date: Sun Apr 29 15:55:51 EDT 2012
java.io.IOException: Broken pipe  
有时错误率相当高(接近50%)。我认为这不正常。 有人知道吗

a) 发生什么事了

b) 我怎样才能修好它


谢谢

您的数据中是否有大量其他语言的字符(如中文)

如果是,请检查中的字符编码设置 (1) Hadoop集群的JVM:默认情况下可能设置为UTF-8。
(2) 映射器/减缩器:确保映射器/减缩器以UTF-8格式(或JVM设置的任何字符编码)发送字符。

我的数据仅包括英文字符串和数字。没有非英语字符。