美文网首页Hadoop
HDFS三大组件

HDFS三大组件

作者: 顾子豪 | 来源:发表于2021-06-16 17:47 被阅读0次
    图来源网络

    NameNode介绍:

    职责:
    负责客户端请求(读写数据)的响应
    元数据的管理(查询,修改)
    配置副本存放策略
    管理集群数据块负载均衡问题

    NameNode 元数据管理
    WAL(Write ahead Log): 预写日志系统
    在计算机科学中,预写式日志(Write-ahead logging,缩写 WAL)是关系数据库系统中用于提供原子性和持久性(ACID 属性中的两个)的一系列技术。在使用 WAL 的系统中,所有的修改在提交之前都要先写入log文件中。
    Log 文件中通常包括 redo 和 undo 信息。这样做的目的可以通过一个例子来说明。
    假设 一个程序在执行某些操作的过程中机器掉电了。在重新启动时,程序可能需要知道当时执行的操作是成功了还是失败了。如果使用了WAL,程序就可以检查 Log 文件,并对突然掉电时计划执行的操作内容跟实际上执行的操作内容进行比较。在这个比较的基础上,程序就可以决定是撤销已做的操作还是继续完成已做的操作,或者是保持原样。

    NameNode 元数据存储机制
    A、内存中有一份完整的元数据(内存 metadata)
    B、磁盘有一个元数据镜像(fsimage)文件(在 namenode 的工作目录中)
    C、用于衔接内存 metadata 和持久化元数据镜像 fsimage 之间的操作日志(edits 文件)
    当客户端对hdfs中的文件进行新增或者修改操作,操作记录首先被记入edits日志
    文件中,当客户端操作成功后,相应的元数据会更新到内存 metadata 中

    元数据的 CheckPoint
    每隔一段时间,会由 secondary namenode 将 namenode 上积累的所有 edits 和一个最新的
    fsimage 下载到本地,并加载到内存进行 merge,这个过程称为 checkpoint 。

    DataNode介绍:

    职责:
    1、存储管理用户的文件块数据
    2、定期向 namenode 汇报自身所持有的 block 信息(通过心跳信息上报)
    DataNode功能观察
    上传一个文件,观察文件的 block 具体的物理存放情况: 在每一台 datanode 机器上的这个目录中能找到文件的切块:
    /home/bigdata/data/hadoopdata/data/current/BP-1030666007-192.168.123.152-1623519476819/current/finalized/subdir0/subdir0


    SecondaryNamenode介绍

    SecondaryNamenode 的作用就是分担namenode 的合并元数据的压力。所以在配置
    SecondaryNamenode 的工作节点时,一定切记,不要和 namenode 处于同一节点。
    但事实上,只有在普通的伪分布式集群和分布式集群中才有会 SecondaryNamenode 这个角色,在HA或者联邦集群中都不再出现该角色。在HA和联邦集群中,都是有standby namenode承担。

    相关文章

      网友评论

        本文标题:HDFS三大组件

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