美文网首页
HDFS的实现机制

HDFS的实现机制

作者: MOOJ | 来源:发表于2020-03-25 22:27 被阅读0次

    HDFS 整体架构

    HDFS 是一个主从 Master/Slave 架构。一个 HDFS 集群包含一个 NameNode,这是一个 Master Server,用来管理文件系统的命名空间,以及调节客户端对文件的访问。一个 HDFS 集群还包括多个 DataNode,用来存储数据。

    系统结构:

    主要角色:

    NameNode:Master节点,大领导。1. 管理数据块映射;2. 处理客户端的读写请求;3. 配置副本策略;4. 管理HDFS的名称空间。5. namenode 内存中存储的是 = fsimage + edits。

    SecondaryNameNode:小弟,分担大哥namenode的工作量。SecondaryNameNode负责定时默认1小时,从namenode上,获取fsimage和edits来进行合并,然后再发送给namenode。减少namenode的工作量。NameNode的冷备份。

    DataNode:Slave节点,奴隶,干活的。1. 存储client发来的数据块block;2. 执行数据块的读写操作。

    fsimage:元数据镜像文件(文件系统的目录树)

    edits:元数据的操作日志(针对文件系统做的修改操作记录)

    存储过程:

    如有一个512M的test文件上传到/wordcount/input/目录中,则文件会被分别切分成4块,放置到三个DataNode中

    若有一个另一个客户端需要访问test.txt文件(当前test.txt文件并不是完整存在的,而是别分割为4块,且存储在三个DataNode中),需要寻找到文件切块的存储DataNode位置。而namenode中则存储了文件块的路径信息。因此,客户端访问hdfs中的文件,则先需要访问namenode中元数据信息。

    多个副本在多个datanode中存储可以保证文件系统的高可靠性和提高吞吐性,HDFS中默认一个文件块具有三个副本。

    主要特点:

    1、hdfs是通过分布式集群来存储文件,为客户端提供了一个便捷的访问方式,就是一个虚拟的目录结构

    2、文件存储到hdfs集群中去的时候是被切分成block的

    3、文件的block存放在若干台datanode节点上

    4、hdfs文件系统中的文件与真实的block之间有映射关系,由namenode管理

    5、每一个block在集群中会存储多个副本,好处是可以提高数据的可靠性,还可以提高访问的吞吐量

    相关文章

      网友评论

          本文标题:HDFS的实现机制

          本文链接:https://www.haomeiwen.com/subject/gldfuhtx.html