HDFS默认Block Size 64MB,block默认保存3份。
HDFS被设计成支持大文件,适用HDFS的是那些需要处理大规模的数据集的应用。这些应用都是只写入数据一次,但却读取一次或多次,并且读取速度应能满足流式读取的需要。HDFS支持文件的“一次写入多次读取”语义。一个大文件会被拆分成一个个的块(block),然后存储于不同的DataNode上。如果一个文件小于一个block的大小,那么实际占用的空间为其文件的大小。
DataNode将HDFS数据以文件的形式存储在本地的文件系统中,它并不知道有关HDFS文件的信息。它把每个HDFS数据块(block)存储在本地文件系统的一个单独的文件中,每个块都会被复制到多台机器,默认复制3份。在DataNode中block是基本的存储单位(每次都是读写一个块),默认大小为64M。配置大的块主要是因为:
(1) 减少搜寻时间,一般硬盘传输速率比寻道时间要快,大的块可以减少寻道时间;
(2) 减少管理块的数据开销,每个块都需要在NameNode上有对应的记录;
(3) 对数据块进行读写,减少建立网络的连接成本
原文链接:https://www.nowcoder.com/questionTerminal/466b686437ac4839b9fffab17804ecf8?orderByHotValue=0&mutiTagIds=629&page=1&onlyReference=false