升木 发表于 2016-12-12 09:31:02

Eclipse插件调试Hadoop程序报/work/tmp does not exist.

最近再学习Hadoop,用的是Cygwin伪分布模式,今天按照书上的例子写了个小MapReduce程序,在eclipse中运行了一下,执行后报错,下面帖一下错误代码

11/12/05 16:10:35 INFO mapred.JobClient: Task Id : attempt_201112051608_0002_m_000001_2, Status : FAILED
java.io.FileNotFoundException: File C:/hadoop/tmp/mapred/local/taskTracker/jobcache/job_201112051608_0002/attempt_201112051608_0002_m_000001_2/work/tmp does not exist.
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:361)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245)
at org.apache.hadoop.mapred.TaskRunner.setupWorkDir(TaskRunner.java:519)
at org.apache.hadoop.mapred.Child.main(Child.java:155)

通过网上的文章了解到是"mapred.child.tmp"配置项的原因,需要在“mapred-site.xml”配置文件中配置“mapred.child.tmp”属性

<property>
<name>mapred.child.tmp</name>   
<value>/hadoop/childtmp</value>
</property>


我又仔细的查看了一下“mapred-site.xml”配置文件,配置确实存在,那是哪里出了问题呢,我就继续查找,在群里不断的问,后来网友给了个提示,我修改了一下,果然好用。
eclipse中的插件中的默认选项有的还需要修改。
默认的配置是:


我按照“mapred-site.xml”中的配置修改了一下


这样执行就不会再报那个错误了。
页: [1]
查看完整版本: Eclipse插件调试Hadoop程序报/work/tmp does not exist.