在hadoop FileNotFoundException job.split上级联2.0.0作业失败

时间:2014-05-05 10:03:13

标签: hadoop cascading

当我在更大的数据集上运行我的作业时,许多映射器/缩减器失败导致整个作业崩溃。这是我在许多地图制作者身上看到的错误:

java.io.FileNotFoundException: File does not exist: /mnt/var/lib/hadoop/tmp/mapred/staging/hadoop/.staging/job_201405050818_0001/job.split
  at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.openInfo(DFSClient.java:1933)
  at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.<init>(DFSClient.java:1924)
  at org.apache.hadoop.hdfs.DFSClient.open(DFSClient.java:608)
  at org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:154)
  at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:429)
  at org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:385)
  at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:417)
  at org.apache.hadoop.mapred.MapTask.run(MapTask.java:377)
  at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
  at java.security.AccessController.doPrivileged(Native Method)
  at javax.security.auth.Subject.doAs(Subject.java:415)
  at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1132)
  at org.apache.hadoop.mapred.Child.main(Child.java:249)

有人能够解决这个问题吗?我看到另一个人经历了和我一样的痛苦(here),遗憾的是他无法及时得救。

1 个答案:

答案 0 :(得分:1)

经过几个小时的调试,我发现在hadoop日志中没有任何用处(像往常一样)。然后我尝试了以下更改:

  • 将群集大小增加到10
  • 增加失败限制:
    1. 了mapred.map.max.attempts = 20
    2. mapred.reduce.max.attempts = 20
    3. mapred.max.tracker.failures = 20
    4. mapred.max.map.failures.percent = 20
    5. mapred.max.reduce.failures.percent = 20

我随后可以在大量数据上运行我的级联工作。这似乎是由级联引起的问题。