Hadoop Job在集群上运行出现“Error initializing”错误

Hadoop Job在集群上运行出现Error initializing错误:

Error initializing attempt_201310091439_334992_m_000006_0:
org.apache.hadoop.util.DiskChecker$DiskErrorException: Could not find taskTracker/root/jobcache/job_201310091439_334992/job.xml in any of the configured local directories
	at org.apache.hadoop.fs.LocalDirAllocator$AllocatorPerContext.getLocalPathToRead(LocalDirAllocator.java:445)
	at org.apache.hadoop.fs.LocalDirAllocator.getLocalPathToRead(LocalDirAllocator.java:164)
	at org.apache.hadoop.mapred.TaskTracker.initializeJob(TaskTracker.java:1438)
	at org.apache.hadoop.mapred.TaskTracker.localizeJob(TaskTracker.java:1310)
	at org.apache.hadoop.mapred.TaskTracker.startNewTask(TaskTracker.java:2727)
	at org.apache.hadoop.mapred.TaskTracker$TaskLauncher.run(TaskTracker.java:2691)
Google了一下,其中有一篇文章说可能是 硬盘空间不足、目录丢失或者硬盘错误等原因。
我想硬盘错误是不可能的,要是硬盘错误,那么集群肯定可以发现的。空间不足和目录丢失倒是有可能。
查看了一下集群上这个task的信息,下面是截图,

上图显示task在一个节点上运行失败后,在另一个节点上重新运行,最终运行成功。

我想产生错误的原因极有可能是硬盘空间不足。
网上其他的一些资料也表明我的猜测是对的。
由于硬盘空间不足而导致初始化出错一般发生在大数据处理的Job运行过程中,这就说的通了!
我问过他们管理集群的人员,他们说,“没关系,是偶尔有一些Job会发生这个错误的,但是,不影响最终运行结果。”因为任务失败后,Hadoop会自动重新启动一个,只要有一个任务运行成功就成功了。上面的截图也说明了这个问题。







你可能感兴趣的:(Hadoop,MapReduce)