找不到jobcache EXCEPTION Hadoop的任何有效本地目录

时间:2015-05-21 11:48:40

标签: hadoop

我是Hadoop的新用户,当我尝试在Hadoop集群上运行工作时,我收到以下异常:

org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find any valid local directory for jobcache/job_201409031055_3865/jars/job.jar
at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathForWrite(LocalDirAllocator.java:376)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:146)
at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathForWrite(LocalDirAllocator.java:127)
at org.apache.hadoop.mapred.JobLocalizer.localizeJobJarFile(JobLocalizer.java:268)
at org.apache.hadoop.mapred.JobLocalizer.localizeJobFiles(JobLocalizer.java:380)
at org.apache.hadoop.mapred.JobLocalizer.localizeJobFiles(JobLocalizer.java:370)
at org.apache.hadoop.mapred.DefaultTaskController.initializeJob(DefaultTaskController.java:232)
at org.apache.hadoop.mapred.TaskTracker$4.run(TaskTracker.java:1381)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java

任何人都可以告诉我这个问题是什么以及如何修复它?

2 个答案:

答案 0 :(得分:0)

MR映射期间中间数据减少本地目录中的作业。它将位于mapred-site.xml中的mapreduce.cluster.local.dir中。

请根据输入文件大小确认目录中是否有足够的空间。此外,您可以尝试压缩中间输出文件以最小化空间消耗。

答案 1 :(得分:0)

我遇到了同样的问题。当我检查该节点的磁盘信息时,我发现它大约100%被使用。所以我在该节点中添加了一个新磁盘(相应地更改了hdfs-site.xml dfs.data.dir)。然后重新启动该节点守护进程并解决了我的问题。