在任务节点上完成作业之前删除hadoop本地作业目录

nbewdwxp  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(286)

我们的hadoop集群中有一个奇怪的问题。我们已经注意到,我们的一些作业失败了,出现了一个filenotfound异常(见下文)。基本上,当任务仍在主机上运行时,“attempt.*”目录和目录本身中的文件将被删除。翻阅一些hadoop文档,我看到作业目录在获得killjobaction时会被清除,但是我不知道为什么在作业仍在运行时它会被清除。
我的问题是,在作业运行时,什么可以删除它?任何关于如何调试的想法或建议都会很有帮助。
谢谢!

java.io.FileNotFoundException: <dir>/hadoop/mapred/local_data/taskTracker/<user>/jobcache/job_201211030344_15383/attempt_201211030344_15383_m_000169_0/output/spill29.out (Permission denied)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:120)
    at org.apache.hadoop.fs.RawLocalFileSystem$TrackingFileInputStream.<init>(RawLocalFileSystem.java:71)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileInputStream.<init>(RawLocalFileSystem.java:107)
    at org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:177)
    at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:400)
    at org.apache.hadoop.mapred.Merger$Segment.init(Merger.java:205)
    at org.apache.hadoop.mapred.Merger$Segment.access$100(Merger.java:165)
    at org.apache.hadoop.mapred.Merger$MergeQueue.merge(Merger.java:418)
    at org.apache.hadoop.mapred.Merger$MergeQueue.merge(Merger.java:381)
    at org.apache.hadoop.mapred.Merger.merge(Merger.java:77)
    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.mergeParts(MapTask.java:1692)
    at org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:1322)
    at org.apache.hadoop.mapred.MapTask$NewOutputCollector.close(MapTask.java:698)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:765)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:369)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
    at org.apache.hadoop.mapred.Child.main(Child.java:253)
qgelzfjb

qgelzfjb1#

我有一个类似的错误,发现这个权限错误是由于hadoop程序无法创建或访问文件造成的。
是在hdfs内部或任何本地文件系统上创建的文件。如果它们在本地文件系统上,则尝试设置该文件夹的权限;如果它们在hdfs文件夹上,则尝试设置该文件夹的权限。
如果你在ubuntu上运行它
试着跑步
chmod-r a=rwx//hadoop/mapred/local\u data/tasktracker//jobcache/job\u 201211030344\u 15383/尝试\u 201211030344\u 15383\u m\u 000169\u 0/输出/

相关问题