hadoop - "Child Error"in Executing stream Job on multi node Hadoop cluster (cloudera distribution CDH3u0 Hadoop 0.20.2)

标签 hadoop mapreduce cloudera

我在 8 节点 Hadoop 集群上工作,我正在尝试使用指定的配置执行一个简单的流作业。

hadoop jar /usr/lib/hadoop-0.20/contrib/streaming/hadoop-streaming-0.20.2-cdh3u0.jar \-D mapred.map.max.tacker.failures=10 \-D mared.map.max.attempts=8 \-D mapred.skip.attempts.to.start.skipping=8 \-D mapred.skip.map.max.skip.records=8 \-D mapred.skip.mode.enabled=true \-D mapred.max.map.failures.percent=5  \-input /user/hdfs/ABC/ \-output "/user/hdfs/output1/" \-mapper "perl -e 'while (<>) { chomp; print; }; exit;" \-reducer "perl -e 'while (<>) { ~s/LR\>/LR\>\n/g; print ; }; exit;" 

我正在使用 cloudera 的 hadoop CDH3u0 发行版和 hadoop 0.20.2。执行这项工作的问题是这项工作每次都失败了。作业给出错误:

 java.lang.Throwable: Child Error
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:242)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:229)

-------
java.lang.Throwable: Child Error
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:242)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:229)

 STDERR on the datanodes: 
    Exception in thread "main" java.io.IOException: Exception reading file:/mnt/hdfs/06/local/taskTracker/hdfs/jobcache/job_201107141446_0001/jobToken
    at org.apache.hadoop.security.Credentials.readTokenStorageFile(Credentials.java:146)
    at org.apache.hadoop.mapreduce.security.TokenCache.loadTokens(TokenCache.java:159)
    at org.apache.hadoop.mapred.Child.main(Child.java:107)
Caused by: java.io.FileNotFoundException: File file:/mnt/hdfs/06/local/taskTracker/hdfs/jobcache/job_201107141446_0001/jobToken does not exist.

对于错误的原因,我已经检查了以下内容,但它仍然崩溃,我无法理解原因。

1. All the temp directories are in place
2. Memory is way more than it might be required for job (running a small job)
3. Permissions verified. 
4. Nothing Fancier done in the configuration just usual stuff.

最奇怪的是,作业有时会成功运行,但大多数时候会失败。关于这些问题的任何指导/帮助都会非常有帮助。我正在处理过去 4 天的这个错误,但我无法弄清楚任何事情。请帮忙!!!

感谢和问候, 阿图尔

最佳答案

我遇到过同样的问题,如果任务跟踪器无法为任务分配指定的内存给子 JVM,就会发生这种情况。

当集群不忙于与这个作业一起运行许多其他作业时,尝试再次执行相同的作业,它将通过或推测执行为真,在这种情况下,hadoop 将在另一个任务跟踪器中执行相同的任务。

关于hadoop - "Child Error"in Executing stream Job on multi node Hadoop cluster (cloudera distribution CDH3u0 Hadoop 0.20.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6702080/

相关文章:

hadoop - 通过Spark获取HDP版本

azure - 如何通过门户管理HDInsight集群?

hadoop - 关于线上分布式环境

algorithm - 使用 Map 和 Reduce 技术进行排序

hadoop - 具有相同条件错误的配置单元多表连接

hadoop - MapReduce 计算 SVD(奇异值分解)

cloudera - 在 Impala 中实现 CREATE AS SELECT

hadoop - 提交后Hadoop YARN作业被卡住,状态仍未定义

java - 为什么在 oozie 中执行时我的应用程序级日志会消失?

hadoop - 什么时候我们不应该在配置单元中使用分桶?