zoukankan      html  css  js  c++  java
  • hdfs功能详解

    1.分布式文件系统理解

      使用低配置电脑配置成集群,存储管理单台电脑不能处理的大型文件。

      

      

      直观理解三个臭皮匠,顶个诸葛亮。

      很多磁盘加一起就可以装超多电影。

      类似于你出5毛,我出5毛,我们一起凑一块。

    2.hdfs优缺点

      优点:

        a.高容错性:数据自动保存多个副本;通过增加副本的形式,提高容错性。一个副本丢失以后,它可以自动恢复。

        b.适合处理大数据:数据规模达到GB、TB甚至PB级数据;能够处理百万规模以上的文件数量,数量相当大;能够处理10k节点规模。

        c.可构建在廉价机器上,通过多副本机制,提高可靠性。

        d.适合批处理:它是通过移动计算不是移动数据;它会把数据位置暴露给计算框架。

        e.流式数据访问:一次写入,多次读取,不能修改,只能追加,能保证数据的一致性。

      缺点:

        a.不适合低延时数据访问,做不到毫秒级的数据存储;

        b.无法高效的对大量小文件进行存储,存储小量文件,会占用NameNode大量内存来存储文件、目录、块信息。小文件存储的寻道时间会超过读取时间,违反了hdfs的设计目标。

        c.不支持并发写入:一个文件只能有一个写,不允许多个线程同时写入;仅支持数据追加,不支持文件的随机修改。 

     3.hdfs的架构详细剖析

       

      数据以block块的形式统一存储管理,每个块默认最多可存储128M的文件,如果有一个文件大小为1kb,也是要占用一个block块,但是实际磁盘空间还是1kb大小。

      每个block块的元数据大小大概为150字节。

      a)hdfs集群包括NameNode、DataNode、SecondaryNameNode。

      b)NameNode负责管理整个文件系统的元数据,以及每一个路径(文件)所对应的的块信息。

      c)DataNode负责管理用户的文件数据块,每一个数据块可以在多个datanode上存储多个副本。

      d)SecondaryNode用来监控hdfs状态的辅助后台程序,每隔一段时间获取hdfs元数据的快照。最主要作用是辅助NameNode管理元数据信息。

      

  • 相关阅读:
    HTML5 拖放(Drag 和 Drop)详解与实例
    JS中的六大数据类型
    关于创建本地docker仓库
    关于使用国内dock仓库,网易、DaoCloud
    关于Docker开通远程访问端口2375
    多个消费者监听同一个队列
    SQLite -附加数据库
    解密JDK8 枚举
    LoraLU
    深入理解display属性
  • 原文地址:https://www.cnblogs.com/dan2/p/12626968.html
Copyright © 2011-2022 走看看