DataNode将HDFS数据以文件的形式存储在本地的文件系统中,它并不知道有关HDFS文件的信息。它把每个HDFS数据块(block)存储在本地文件系统的一个单独的文件中,每个块都会被复制到多台机器,默认复制3份。在DataNode中block是基本的存储单位(每次都是读写一个块),默认大小为64M。配置大的块主要是因为:
(1) 减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间;
(2) 减少管理块的数据开销,每个块都需要在NameNode上有对应的记录;
(3) 对数据块进行读写,减少建立网络的连接成本