HDFS一个分布式文件系统,是Hadoop核心的一部分。
HDFS采用主从结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。
HDFS整体类似一个linux文件系统,将一个大文件切分成n个datablack(默认128m),datablock存储在DataBlock
中,文件的元数据存储(类似linux inode table 包含权限、实际存储的datablock、datablock数量和所在DataNode信息等等)在NameNode
中。
读流程
- client想namenode发起访问文件 虚拟路径/foo/bar
- namenode返回存储/foo/bar实际文件的所有datablock信息
- 在datablock所在的datenode找出datablock合并成文件返回给client