我坚持这个问题2天了。我正在使用Hadoop(CDHu3)。我通过谷歌搜索找到了所有可能的解决方案。
这就是问题所在:
当我运行Hadoop示例“wordcount”时,tasktracker登录一个从属节点会出现以下错误:
1.WARN org.apache.hadoop.mapred.DefaultTaskController:任务包装器stderr:bash: /var/tmp/mapred/local/ttprivate/taskTracker/hdfs/jobcache/job_201203131751_0003/attempt_201203131751_0003_m_000006_0/taskjvm.sh: 许可被拒绝
2.WARN org.apache.hadoop.mapred.TaskRunner:attempt_201203131751_0003_m_000006_0:儿童错误 java.io.IOException:任务进程退出,非零状态为126。
3.WARN org.apache.hadoop.mapred.TaskLog:无法检索任务的stdout日志:attempt_201203135151_0003_m_000003_0 java.io.FileNotFoundException: /usr/lib/hadoop-0.20/logs/userlogs/job_201203131751_0003/attempt_201203131751_0003_m_000003_0/log.index (没有这样的文件或目录)
我在Google中找不到类似的问题。我有一些帖子似乎有点相关,并建议:
ulimit
:我的ulimit
设置得足够大,可以用于此捆绑示例谢谢大家。我真的在我的智慧结束。我花了几天时间。 我真的很感激任何帮助。
答案 0 :(得分:0)
对我来说这是因为hadoop无法在hadoop / logs / userlogs / JobID / attemptID
上创建MapReduce作业日志ulimit当然是最高的可能性之一。
但对我来说,这是因为我们使用的磁盘已经完全以某种方式完成并且创建日志文件失败