log.index(没有这样的文件或目录)和任务进程退出非零状态为126

时间:2012-03-13 13:21:43

标签: hadoop mapreduce

我坚持这个问题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中找不到类似的问题。我有一些帖子似乎有点相关,并建议:

  1. Hadoop用户的ulimit:我的ulimit设置得足够大,可以用于此捆绑示例
  2. JVM使用的内存:我的JVM仅使用Xmx200m,太小而不能超出我的机器的限制
  3. mapred.local.dir和logs目录的权限:我用“chmod 777”设置它们
  4. 磁盘空间已满:我的日志目录和mapred.local.dir中有足够的空间用于Hadoop。
  5. 谢谢大家。我真的在我的智慧结束。我花了几天时间。 我真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

对我来说这是因为hadoop无法在hadoop / logs / userlogs / JobID / attemptID

上创建MapReduce作业日志

ulimit当然是最高的可能性之一。

但对我来说,这是因为我们使用的磁盘已经完全以某种方式完成并且创建日志文件失败