一、简介
随着Hadoop系统的红火,HDFS作为其基础设施也为众人所熟知。HDFS本身是一个分布式文件系统(Distributed File System,后文缩写为DFS),它不仅可以为Hadoop生态圈中产品所用,也可以为圈外其他产品所用。
与本地文件系统(Local File System,后文缩写为LFS)相比,现代DFS一般具有如下几个特点:1)高可靠性;一般来说,DFS可以通过复制(replication)来提高文件系统的可用性。文件的内容被复制到不同的磁盘、或磁盘控制器、或主机。这样即使单个磁盘甚至主机出现故障,也不影响DFS对外提供服务。2)高吞吐量;通过复制以及将程序推送到数据存储节点,数据处理服务器可以实现就近获取数据;通过配置大数据文件块,可以实现高效的顺序读写。这些特点在HDFS上都得到了充分的体现。
从历史的角度看,上述特性并非早期DFS的追求目标。早期的DFS如Andrew,NFS的主要目标有:1)实现文件对存储载体位置的透明性。这样用户无论在家里,或是在办公室里,只要与DFS有网络连接,就可以处理自己的文件。2)利用散布于各个服务器的磁盘空间,对外提供统一的存储空间。
一般来说,文件有两部分内容:元数据和内容数据。元数据包括:文件存储位置,包括其在文件系统的文件目录位置以及数据块的位置;文件大小、文件创建修改访问时间戳等。一般的LFS对元数据和内容数据提供统一的处理。当然这不是说元数据和内容数据混合在一起(事实上元数据通常保存在不同的super block中)。而是说在文件系统数据