Hi,

I did some M/R test on a 8 computers cluster. The mapper just generate some random data (8 maps) and one reduce merges it. The data generated by the maps (intentionally) is larger than the disk space available on the reduce computer.
When copying the data from map 2 the reduce computer continuously throw:

org.apache.hadoop.fs.FSError: java.io.IOException: No space left on device
        at 
org.apache.hadoop.fs.LocalFileSystem$LocalFSFileOutputStream.write(LocalFileSystem.java:161)
        at 
org.apache.hadoop.fs.FSDataOutputStream$Summer.write(FSDataOutputStream.java:83)
        at 
org.apache.hadoop.fs.FSDataOutputStream$PositionCache.write(FSDataOutputStream.java:112)
        at 
java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at java.io.DataOutputStream.flush(DataOutputStream.java:106)
        at java.io.FilterOutputStream.close(FilterOutputStream.java:140)
        at 
org.apache.hadoop.mapred.MapOutputLocation.getFile(MapOutputLocation.java:127)
        at 
org.apache.hadoop.mapred.ReduceTaskRunner$MapOutputCopier.copyOutput(ReduceTaskRunner.java:238)
        at 
org.apache.hadoop.mapred.ReduceTaskRunner$MapOutputCopier.run(ReduceTaskRunner.java:208)
Caused by: java.io.IOException: No space left on device
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:260)
        at org.apache

Is there an "safe mechanism" to overcome this kind of problems, maybe when there is no space left on the local disk the dfs space may be used, with a performance penalty, but the system will continue to work.

Thank You!
John

Reply via email to