• HDFS架构原理


    1.  HDFSHadoop Distributed File System Hadoop分布式文件系统

    2. 特点:

     保存多个副本,且提供容错机制,副本丢失或宕机自动恢复。默认存3份。

     运行在廉价的机器上。

     适合大数据的处理。多大?多小?HDFS默认会将文件分割成block128M1block。然后将block按键值对存储在HDFS上,并将键值对的映射存到内存中(namenode)。如果小文件太多,那内存的负担会很重。

    如上图所示,HDFS也是按照MasterSlave的结构NameNodeSecondaryNameNodeDataNode这几个角色。

    NameNodeMaster节点,是管理者。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;

     NameNode保存的metadata包括文件ownershippermission , 文件包含的block信息 , Block保存在那些DataNode节点上(这部分数据并非保存在NameNode盘上的,它是在DataNode启动时上报给NameNode的,Name接收到之后将这些信息保存在内存中), NameNodemetadata信息在NameNode启动后加载到内存中 , Metadata存储到磁盘上的文件名称为fsimage , Block的位置信息不会保存在fsimage中 , Edits文件记录了客户端操作fsimage的日志,对文件的增删改等。用户对fsimage的操作不会直接更新到fsimage中去,而是记录在edits

    SecondaryNameNode:分担namenode的工作量;是NameNode的冷备份;合并fsimagefsedits然后再发给namenode

    合并fsimagefsedits文件,然后发送并替换NameNodefsimage文件,同时自己留下一个副本。这个副本可供NameNode毁灭之后的部分文件恢复。(1)可以通过配置fs.checkpoint.period修改合并间隔时间,默认1小时  (2)也可以通过配置edits日志文件的大小,fs.checkpoint.size规定edits件的最大值,来让SecondaryNameNode来知道什么时候该进行合并操作了。默认是64M

    合并过程如下:

    DataNodeSlave节点,奴隶,干活的。负责存储client发来的数据块block;执行数据块的读写操作。

    热备份ba的热备份,如果a坏掉。那么b马上运行代替a的工作。

    冷备份ba的冷备份,如果a坏掉。那么b不能马上代替a工作。但是b上存储a的一些信息,减少a坏掉之后的损失。

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

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

    namenode内存中存储的是=fsimage+edits

    SecondaryNameNode负责定时默认1小时,从namenode上,获取fsimageedits来进行合并,然后再发送给namenode。减少namenode的工作量。

    3.  HDFS优点:

    (1)高容错性

    数据自动保存多个副本 , 副本丢失后,自动恢复

    (2) 适合批处理

    移动的计算和操作 ,  数据位置暴漏给计算框架

    (3) 适合大数据处理

    GBTBPB甚至更大 ,  百万规模以上的文件数量 , 10K+节点 

    (4) 可构建在廉价的机器上

    通过副本提高可靠性 , 提供了容错和恢复机制

    3.  HDFS缺点:

     (1) 低延迟数据访问

    毫秒级读取 , 低延迟与高吞吐量

    (2) 小文件存取

    占用NameNode内存空间 ,  寻址时间超过读取时间

    (3) 并发写入、文件随即修改

    一个文件同时只能由一个写入者 , 仅支持append

  • 相关阅读:
    android中的逐帧动画
    在android项目中使用FontAwesome字体
    java中Proxy类初探
    SwipeRefreshLayout基本使用
    【uni-app】condition 启动模式配置,仅开发期间生效
    【uni-app】底部tabbar导航栏右上角添加数字标记
    【uni-app】设置导航条(标题、导航条颜色、加载动画等)
    errno的定义
    S3C6410串口平台设备注册流程分析
    内核线程
  • 原文地址:https://www.cnblogs.com/niuxiao12---/p/7658069.html
Copyright © 2020-2023  润新知