2014-05-05 69 views
1

當我在較大的數據集上運行作業時,大量映射器/縮減器失敗導致整個作業崩潰。以下是我在許多映射器上看到的錯誤:在hadoop上級聯2.0.0作業失敗FileNotFoundException job.split

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

經過數小時的調試,我發現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

我能夠對大量數據的隨後運行我的級聯工作。這似乎是級聯造成的問題。