HDFS 中任何一个文件,目录或者数据块在 NameNode 节点内存中均以一个对象形式表示(元数据),而这受到 NameNode 物理内存容量的限制.每个元数据对象约占 150 byte,所以如果有1千万个小文件,每个文件占用一个block,则 NameNode 大约需要2G空间.如果存储1亿个文件,则 NameNode 需要20G空间,这毫无疑问1亿个小文件是不可取的. 处理小文件并非 Hadoop 的设计目标,HDFS 的设计目标是流式访问大数据集(TB级别).因而,在 HDFS 中存储大