Hadoop mapreduce作业中的JVM重用

Hadoop mapreduce作业中的JVM重用,hadoop,jvm,mapreduce,Hadoop,Jvm,Mapreduce,我有一个mapreduce作业,它将HDFS上的一堆文件作为输入并生成一些统计数据。它运行良好,没有问题。但是,当我将jvm重用属性“mapred.job.reuse.jvm.num.tasks”设置为“-1”或一个小整数(例如5)时,许多映射程序失败,并显示以下错误消息 eNote:没有这样的文件或目录 位于org.apache.hadoop.io.nativeio.nativeio.open(本机方法) 位于org.apache.hadoop.io.SecureIOUtils.createF

我有一个mapreduce作业,它将HDFS上的一堆文件作为输入并生成一些统计数据。它运行良好,没有问题。但是,当我将jvm重用属性“mapred.job.reuse.jvm.num.tasks”设置为“-1”或一个小整数(例如5)时,许多映射程序失败,并显示以下错误消息

eNote:没有这样的文件或目录 位于org.apache.hadoop.io.nativeio.nativeio.open(本机方法) 位于org.apache.hadoop.io.SecureIOUtils.createForWrite(SecureIOUtils.java:161) 位于org.apache.hadoop.mapred.TaskLog.writeToIndexFile(TaskLog.java:296) 位于org.apache.hadoop.mapred.TaskLog.syncLogs(TaskLog.java:369) 位于org.apache.hadoop.mapred.Child.main(Child.java:229)

有谁能给我一些提示,告诉我为什么会这样,以及如何解决这个问题


谢谢,

好奇-当运行“没有问题”时,此属性的值是多少?它是默认值,即1。您使用的是哪个版本和发行版的Hadoop?运行任务跟踪器的每个节点在日志目录上的权限是多少?它们与hadoop运行时用户匹配吗?