【知识积累】大数据旅程-Hadoop之HDFS简介

1、HDFS原理:

一个节点登记,其他节点存数据,其他节点存完数据向登记节点回报。

2、存储模型(字节):

  • 文件线性切割成块(Block:偏移量、位置信息)
  • 偏移量 offset(byte)

       offset:块的第一个字节面向原文件的下标
       第一个字节下标是0
       如果一个块是四个字节,那么第一个块是0、1、2、3,第二个块的偏移量是4

  • Block分散存储在集群节点中
  • 单一文件Block大小一致,文件与文件可以不一致

       定义四个字节一个块,存储时就是四个字节,如果最后只剩下两个字节,那么就是一个块存两个字节
       第一个文件可以是四个字节一个块,第二个直接可以是8个字节

  • Block可以设置副本数(一个文件切了两个块,也就是两个节点A1和B1,如果A1挂掉,那么文件不再完整,则需要A*作为副本,提高可靠性),副本分散在不同节点中

       副本数不要超过节点数量
       块是平级的,如果有三个副本,则这个块需要三个节点存储。

  • 文件上传可以设置Block大小和副本数
  • 已上传的文件Block副本数可以调整,大小不变
  • 只支持一次写入多次读取,同一时刻只有一个写入者
  • 可以append追加数据

3、架构模型:

  • 文件元数据MetaData,文件数据

       元数据
       数据本身

  • (主)NameNode节点(进程维护了虚拟目录树来映射存储关系)保存文件元数据单节点 posix
  • (从)DataNode节点(保存小文件)保存文件Block数据:多节点
  • DataNode与NameNode保持心跳,提交Block列表
  • HdfsClient与NameNode交互元数据信息
  • HdfsClient与DataNode交互文件Block数据

4、HDFS设计思想

HDFS 1.*版本的Block默认大小是64M,2.*Block版本的默认大小是128M

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章