目录

计算机集群结构

HDFS的局限性:

HDFS的优点:

HDFS的主要组件

名称结点NameNode

 FSImage文件

SecondaryNameNode第二名称节点

数据节点(DataNode)


计算机集群结构

分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(Master Node)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)

ambari hdfs节点配置服务 yarn hdfs的节点_big data

HDFS的局限性:

  • 不适合低延迟数据访问
  • 无法高效存储大量小文件
  • 不支持多用户写入及任意修改文件

HDFS的优点:

  • 支持大规模文件存储
  • 简化系统设计
  • 适合数据备份

HDFS的主要组件

ambari hdfs节点配置服务 yarn hdfs的节点_big data_02

HDFS主要组件的功能

NameNode

DataNode

存储元数据

存储文件内容

元数据保存在内存中

文件内容保存在磁盘中

保存文件、block、datanode之间的映射关系

维护了block id 到datanode本地文件的映射关系

名称结点NameNode

名称结点负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构,即FsImage和EditLog,名称节点记录了每个文件中各个块所在的数据节点的位置信息

  • FsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据
  • 操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作

ambari hdfs节点配置服务 yarn hdfs的节点_hdfs_03

 FSImage文件

  • FsImage文件包含文件系统中所有目录和文件inode的序列化形式。每个inode是一个文件或目录的元数据的内部表示,并包含此类信息:文件的复制等级、修改和访问时间、访问权限、块大小以及组成文件的块。对于目录,则存储修改时间、权限和配额元数据
  • FsImage文件没有记录每个块存储在哪个数据节点。而是由名称节点把这些映射信息保留在内存中,当数据节点加入HDFS集群时,数据节点会把自己所包含的块列表告知给名称节点,此后会定期执行这种告知操作,以确保名称节点的块映射是最新的。

SecondaryNameNode第二名称节点

第二名称节点是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS 元数据信息的备份,并减少名称节点重启的时间。SecondaryNameNode一般是单独运行在一台机器上。

数据节点(DataNode)

数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表,每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中。