一、 HDFS块的概念
传统分布式文件系统:不分块
HDFS:分块
这里的副本冗余,意思是将一个块分多次存储到不同的server中,这个块就有了多个副本,也就是冗余。
(相当于:
传统的分布式存储,是按每个文件的大小,平分,然后放入特定数量的server中,这样随着每个文件的大小不同,平分后的大小也不同,进而导致每个server中实际存储的数据大小也不同(有较大差异),这样就会导致1 存储负载不均衡 2 网络宽带不均衡 的现象;
HDFS的文件系统,是按块为大小,将每个文件(即使大小不同),都分成若干个块,然后将块,平均分配到每个server中(相当于粒度更小,之前是石头为单位,现在是沙子为单位),这样,就会解决传统分布式fs的两个问题。(虽然会有文件末尾的块不是整块(小于128MB),但这点差异很小,可以忽略不计)。
)
二、 HDFS的块大小
(1的寻址开销+块大小选择,我觉得他这里没有讲清楚,模棱两可,下次在慕课上买大学的课程来听。这里先暂时略过)
(2 的小文件问题,应该是,对于小文件来说,如果块比较大,那么一个小文件可能都无法填充1个块;如果块比较小,那么虽然小文件的块使用率较高,但元数据的数量也会上升,这样,如果想存储较多的小文件,那么会要求更多的元数据,这对NameNode的内存空间是一种较大的消耗(也就是,存小文件,不如存大文件划算,存大文件更适应HDFS的特点,而小文件则不行))