1、分布式文件系统的思想:文件切分的思想(分而治之)
当文件存储在磁盘中,不仅效率比较低,并且文件的大小可能会超出单机的存储的范围。
所以分而治之的思想就是:
不管文件有多大,所有的文件都是由字节数组构成,当想要切分文件的时候,就是将一个字节数组切分成多份,当需要使用这份数据的时候,就可以根据偏移量将字节数据拼接在一起,此时数据又可以继续使用。
2、Block的拆分标准:
1、block是磁盘进行数据读/写的最小单元,数据被切分后的一个整体叫做块。在Hadoop1.0的版本中,默认的大小是64M,在Hadoop2.0以及后面的版本中,默认的大小是128M,这样的目的是达到最小的寻址开销。
2、在同一文件中,每一个block的大小是基本一致的,除了最后节点之外。然么对于不同的文件的block的大小是可以不一样的,不同的文件的大小可以设置成不同数量的block数量。
3、数据块的个数=Ceil(文件大小/每个块的大小)
3、对于block需要等大的原因:
1、可以达到最小的寻址的开销。
2、可以再计算的时候降低计算的复杂度。
3、可以通过偏移量来确定block的位置,并来拉取数据。
4、对于相同的文件block因该是等大的。
5、对于拉去的时间会基本一致。
注意事项
a. 只要有任意一个块丢失,整个数据文件被损坏
b. HDFS中一旦文件被存储,数据不