1.概述
HDFS(Hadoop Distributed FileSystem)为Hadoop自带的一个分布式文件系统,其实它和许多其他的本地文件系统很相似,文件都是通过分级目录来进行管理,只不过HDFS中的文件是分布式存储的。特别是对于用户的使用来说,并没有太多差别,HDFS也是通过路径去获取系统中的文件,它的前缀为:hdfs://
2.HDFS中的文件存储
对于一个文件系统,我们首先需要知道的就是文件在HDFS中是如何进行存储的。
HDFS会将文件划分为多个分块,每个分块单独进行存储,通常每个分块存储在不同的节点上,默认一个块的大小为128M。分块的一个好处就是可以由多台机器去共同存储超大的文件。文件是分块存储的,那么在读取文件的时候HDFS也会准确的找到这些分块(通过namenode,后面会讲)并组合起来返回给客户端,而这些对于客户端来说都是透明的,客户端只需要给出一个路径,HDFS就可以找到指定文件。
为了提高HDFS的数据容错能力,HDFS还会将文件的每一个分块进行复制(默认为3个),并将其分散存储在相互独立的不同物理机上,这样可以确保发生故障后数据不会丢失,如果发现一个块不可用,系统会从其他机器上读取另一个副本。
下面是一个HDFS的