[ 
https://issues.apache.org/jira/browse/HADOOP-4614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645952#action_12645952
 ] 

Raghu Angadi commented on HADOOP-4614:
--------------------------------------

> Does it still look to you like these are related?
I don't think they are related. This seems like a different issue. 

Note that 5007 does not matter much since that is for all the processes 
together. What really matters is the max fds for a single process. In the log 
you attached it might be in 2-3k range.

This seems more related to internals of mapred. please change the 'component' 
to mapred so that it gets better attention. Also provide approximate details of 
how big the output is, number of mappers, number of reducers etc.

> "Too many open files" error while processing a large gzip file
> --------------------------------------------------------------
>
>                 Key: HADOOP-4614
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4614
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: io
>    Affects Versions: 0.18.2
>            Reporter: Abdul Qadeer
>             Fix For: 0.18.3
>
>         Attachments: openfds.txt
>
>
> I am running a simple word count program on a gzip compressed data of size 4 
> GB (Uncompressed size is about 7 GB).  I have setup of 17 nodes in my Hadoop 
> cluster.  After some time, I get the following exception:
> java.io.FileNotFoundException: 
> /usr/local/hadoop/hadoop-hadoop/mapred/local/taskTracker/jobcache/job_200811041109_0003/attempt_200811041109_0003_m_000000_0/output/spill4055.out.index
> (Too many open files)
>        at java.io.FileInputStream.open(Native Method)
>        at java.io.FileInputStream.(FileInputStream.java:137)
>        at 
> org.apache.hadoop.fs.RawLocalFileSystem$TrackingFileInputStream.(RawLocalFileSystem.java:62)
>        at 
> org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileInputStream.(RawLocalFileSystem.java:98)
>        at 
> org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:168)
>        at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:359)
>        at 
> org.apache.hadoop.mapred.IndexRecord.readIndexFile(IndexRecord.java:47)
>        at 
> org.apache.hadoop.mapred.MapTask$MapOutputBuffer.getIndexInformation(MapTask.java:1339)
>        at 
> org.apache.hadoop.mapred.MapTask$MapOutputBuffer.mergeParts(MapTask.java:1237)
>        at 
> org.apache.hadoop.mapred.MapTask$MapOutputBuffer.flush(MapTask.java:857)
>        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:333)
>        at org.apache.hadoop.mapred.Child.main(Child.java:155)
> From a user's perspective I know that Hadoop will use only one mapper for a 
> gzipped file.  The above exception suggests that probably Hadoop puts the 
> intermediate data into many files.  But the question is that "exactly how 
> many open files are required in the worst case for any data size and cluster 
> size?"  Currently it looks as if Hadoop needs more number of open files as 
> the size of input or the cluster size (in terms of nodes, mapper, reducers) 
> increases.  This is not plausible as far as scalability is concerned.  A user 
> needs to write some number in the /etc/security/limits.conf file that how 
> many open files are allowed by hadoop node.  The question is what that 
> "magical number" should be?
> So probably the best solution to this problem is to change Hadoop such a way 
> that it can work with some moderate number of allowed open files (e.g. 4 K) 
> or any other number should be suggested as an upper limit such that a user is 
> sure that for any data size and cluster size, hadoop will not run into this 
> "too many open files" issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to