Hadoop核心组成部分、HDFS存储模型和架构模型总结

Hadoop核心组成部分

(1)Hadoop Common:用来支撑其他模块的公共工具包

(2)HDFS: 一种分布式文件系统,提供对应用程序数据的高吞吐量访问。

(3)Hadoop Yarn:作业调度和集群资源管理的框架。

(4)Hadoop MapReduce:基于YARN的系统,用于并行处理大型数据集。

HDFS存储模型

存储模型:字节(一个文件就是一个字节数组)

 ①block块产生:文件线性切割成block块,偏移量(offset)(byte)

 ②block块存储:block分散存储在集群节点中

 ③block块大小要求:单一文件block大小一致,文件和文件可以不一致

 ④block块副本:block 可以设置副本,副本分散在集群的不同节点上,副本数量不能超过集群节点数量

 ⑤关于文件上传:

   文件上传可以设置block大小和副本数

   已经上传的文件Block副本数可以调整,大小不变

   仅支持一次写入多次读取,同一时刻只能有一个写入者

   可以append追加数据

架构模型

1、数据种类

  元数据MetaData,

  文件数据本身。

  

2、角色(主从架构)

 

 (1)NameNode存储:保存文件的元数据(目录树、路径也算)

   ①基于内存存储:不会和磁盘发生交换

     NameNode的数据只会在内存中

     持久化(Namenode基于内存存储,内存是掉电易失的,所以会将内存中的数据持久化到磁盘)

   ②主要功能:

     NameNode是保存文件元数据信息的

     NameNode用来和客户端交互,接收客户端的读写服务

     收集DataNode汇报上来的block块列表信息

   ③保存的metadata信息

     不保存位置信息,是因为需要保证数据一致性(提供百分之百准确的消息)

(2)DataNode:存储块文件,保存文件block数据,向NameNode汇报block块的列表

   ①存储:

     本地磁盘目录存储block块的数据,以文件形式

     存储block块的元数据信息

   ②功能:

     向Namenode汇报block块的信息

     和Namenode通过心跳(3秒一次)保持联系,如果Namenode10分钟没有接收到DataNode的心跳,则认为该DataNode已经lost,Namenode会将该DataNode上的block块复制到其他DataNode上

     

 (3)关系(HDFSClient、DataNode、NameNode):

  

   三者的关系:

   

     DataNode与NameNode保持心跳,DataNode向NameNode提交block列表;

     HDFSClient和Namenode交互文件元数据;

     HDFSClient和DataNode交互文件block数据


Hadoop核心组成部分、HDFS存储模型和架构模型总结,不熟悉的小伙伴赶紧 mark 起来吧。

往期精彩推荐


分享到:


相關文章: