分布式文件管理系统——HDFS
什么是分布式文件系统
HDFS的优缺点
HDFS的组成
HDFS写数据流程
HDFS读数据流程
DataNode工作机制
什么是分布式文件系统
由于单机的存储能力有限,难以存储日益增长的数据,于是我们便将数据分配到多个机器中进行存储,因此我们迫切需要一种系统方便管理和维护多台机器上的存储数据的文件,这就是分布式文件系统。HDFS只是分布式文件系统中的一种。
HDFS的优缺点
优点:
1、高容错性
(1)数据自动保存多个副本。它通过增加副本的形式,提高容错性。
(2)某个副本丢失后,它可以自动恢复
2、适合大数据处理
(1)数据规模:能够处理数据规模达到GB、TB甚至PB级别的数据
(2)文件规模:能处理百万规模以上的文件数量。
(3)可构建在廉价的机器上,通过多副本机制,提高可靠性
缺点:
1、不适合低延时数据访问,比如毫秒级的数据存储是做不到的
2、无法高效的对大量小文件进行存储
3、不支持并发写入,文件随机修改
HDFS的组成
架构主要由四部分组成:Client、NameNode、DataNode、secondaryNameNode
一、Client
(1)文件切分。文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行存储
(2)与NameNode进行交互,获取文件的存储位置
(3)与DataNode进行交互,读取或者写入数据
二、NameNode
(1)管理HDFS的名称空间-namespace
(2)管理数据块(Block)的映射信息
(3)配置副本策略,默认 3
(4)处理客户端的请求
三、DataNode
(1)存储实际的数据块
(2)执行数据块的读写操作
四、SecondaryNameNode
(1)辅助NameNode,分担其工作量
(2)定期合并NameNode的fsimage和Edits,并推送给NameNode
(3)在紧急情况辅助帮助恢复NameNode
注:SecondaryNameNode并非NameNode的热备,在NameNode宕机的时候并不能马上替换NameNode提供服务