[ 
https://issues.apache.org/jira/browse/HDFS-3290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256914#comment-13256914
 ] 

Colin Patrick McCabe commented on HDFS-3290:
--------------------------------------------

Hi Matt,

Thanks for your comments.  I misunderstood how the DataNode functions, probably 
because I didn't create enough blocks to see the multiple directories.

It seems like we do indeed create multiple directories.  However, there is no 
way to tell where a given block will be given its ID.  So you have to search 
every directory to find a given block.  This clearly won't scale as the number 
of directories increases.

So I guess the title of this JIRA can remain the same-- a "better" directory 
structure that doesn't require an O(N / maxBlocksPerDir) search to read a block 
would be a good thing...

Colin
                
> Use a better local directory layout for the datanode
> ----------------------------------------------------
>
>                 Key: HDFS-3290
>                 URL: https://issues.apache.org/jira/browse/HDFS-3290
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 0.23.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>
> When the HDFS DataNode stores chunks in a local directory, it currently puts 
> all of the chunk files into one big directory.  As the number of files 
> increases, this does not work well at all.  Local filesystems are not 
> optimized for the case where there are hundreds of thousands of files in the 
> same directory.  It also makes inspecting directories with standard UNIX 
> tools difficult.
> Similar to the git version control system, HDFS should create a few different 
> top level directories keyed off of a few bits in the chunk ID.  Git uses 8 
> bits.  This substantially cuts down on the number of chunk files in the same 
> directory and gives increased performance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to