Hadoop下HDFS架构,NameNode、DataNode、Secondary NameNode

一、HDFS架构

    三部分:NameNode、DataNode、Secondary NameNode

    Hadoop下HDFS架构,NameNode、DataNode、Secondary NameNode_第1张图片

                                                                        图一:HDFS架构图

二、NameNode

      是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。

接收用户的操作请求。

    文件包括:

            1、fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。

            2、edits:操作日志文件。

            3、fstime:保存最近一次checkpoint的时间

三、Secondary  NameNode

    1、是什么?

         HA的一个解决方案。但不支持热备。配置即可。

        执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,

在本地保存,并将其推送到NameNode,替换旧的fsimage

    2、工作流程

        第一步:secondary通知namenode切换edits文件

        第二步:secondary从namenode获得fsimage和edits(通过http)

        第三步:secondary将fsimage载入内存,然后开始合并edits

        第四步:secondary将新的fsimage发回给namenode

        第五步:namenode用新的fsimage替换旧的fsimage

四、合并checkpoint

    1、什么是checkpoint?

            fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒。 

            fs.checkpoint.size    规定edits文件的最大值,一旦超过这个值则强制checkpoint,

不管是否到达最大时间间隔。默认大小是64M。

    2、结构图解

                                   NameNode                                                                   Secondary  NameNode 

Hadoop下HDFS架构,NameNode、DataNode、Secondary NameNode_第2张图片

                                                        图二: checkpoint结构图

五、DataNode

   1、提供真实文件数据的存储服务。

    2、文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block.

    dfs.block.size

    3、不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间

    4、Replication。多副本,默认为三个。


你可能感兴趣的:(Hadoop)