hadoop - Hadoop流任务失败

标签 hadoop cloudera hadoop-streaming

我有一个用C++编写的相对简单的程序,并且一直在使用Hadoop Streaming进行MapReduce作业(我的Hadoop版本是Cloudera)。

最近,我发现许多流任务一直失败,并在任务跟踪器成功完成时由任务跟踪器重新启动。我跟踪了用户日志,似乎某些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)您的mapper / reducer:确保您的mapper / reducer以UTF-8(或您设置了JVM的任何char编码)发出字符。

关于hadoop - Hadoop流任务失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375623/

相关文章:

r - 如何在SQL Server上为hadoop远程执行正常的R功能?

optimization - 为 Hadoop 使用 GZip 输入文件时如何优化 S3 的读取性能

hadoop - 在 mapreduce 作业中恢复黑名单 tasktrackers

hadoop - 如何将注册为 Spark 表的表放入数据框中

eclipse-plugin - hadoop 的 eclipse 插件是否与 CDH3 一起工作

java - mapreduce,排序值

java - 远程运行Hadoop mapreduce作业会导致EOFException?

java - 如何在 Hadoop 的 Map Reduce 中执行 perl 程序?

python - MRJob 相同的 key 被发送到不同的 reducer

hadoop - solr可以直接读取HDFS中存储的文件吗?