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管理元数据信息。

  

原文地址:https://www.cnblogs.com/dan2/p/12626968.html