在HDFS中,文件是以块(block)的形式存储的,而HDFS的设计初衷也是用来处理大文件的,使用抽象块正好可以满足这一需求。具体来说,比如一个很大的文件,在单一的节点上存储是不可能的,HDFS使用逻辑块的方式将这个很大的文件分成很多块,分别存储在各个节点机器上,从而实现了大文件的存储。
使用抽象块作为操作的单元,方便了存储系统的管理,具体来说,就是把文件块放在DataNode上存储,把文件的元数据信息放到NameNode上管理。
最后,通过给块设置副本,可以实现容错机制。
本文参考《Hadoop实战》陆嘉恒 著