您的位置:首页 > 运维架构

Hadoop之HDFS初步认识(一)

2017-02-10 10:47 239 查看

一. Hadoop的知识架构图如下所示:





二. HDFS是什么?

      1、HDFS是Hadoop生态圈中的分布式文件存储系统,主要是来源于Google 的GFS论文;
            全称:Hadoop Distributed File System。
      2、易于扩展的分布式文件系统。
      3、运行在大量普通廉价机器上,提供容错机制。
      

三. HDFS 的优缺点

       1、优点:
           具有高容错性:数据通过保存多个副本,当副本丢失后会自动恢复;
           适合批处理:移动计算而非移动数据,数据位置暴露给计算框架;
           适合大数据处理:TB级甚至PB级数据的处理,10K+节点规模的数据;
           流式数据访问:一次性写入多次读取;保证了数据的一致性;
                               主要为批处理应用设计,而非交互式应用,看重数据访问的吞吐量而非访问延迟。
           可构建在廉价机器上:通过多副本提供可靠性,提供容错与副本恢复机制;
       2、缺点:
           不适合低延迟数据访问:比如毫秒级,低延迟高吞吐率;
           不适合小文件存取:由于文件的元数据得存储在nameNode中,大量的小文件会占据nameNode的大量内存, 寻道时间超过读取时间;
            不适合并发写入、文件随机修改:一个文件只有一个写者,不可以随便修改,只可追加;

四. HDFS的基本架构与原理

        在看HDFS的原理前先了解如下问题:

         客户端如何访问HDFS中一个文件呢?具体流程如下。

    1)首先从Namenode获得组成这个文件的数据块位置列表。

    2)接下来根据位置列表知道存储数据块的Datanode。

    3)最后访问Datanode获取数据。

        1、HDFS的基本架构

              hdfs部分由NameNode、SecondaryNameNode和DataNode组成。
              
NameNode是对全局数据的名字信息做管理的模块,
           SecondaryNameNode是它的从节点,以防挂掉,
               DataNode是真正的在每个存储节点上管理数据的模块。

              其中:NameNode与SecondaryNameNode的关系如下图所示:



           文字解说:
        NameNode(NN)是HDFS里的中心管理节点,NN上的元数据全内存化,元数据主要分为两个部分:
       (1)文件的元信息,如大小、时间戳、包含的block等;
       (2) block到DataNode(DN)的映射关系。
       前者持久化在NN本地,而后者则是在集群里DN启动时,由DN汇报上来。 
     

            


              存储节点管理:DN在启动时,会向NN汇报存储的block信息,并周期性的向NN发送心跳信息,

                    NN超过一定时间没有收到DN的心跳,就认为DN发生故障。

      HDFS的架构图如下所示:





     


 参考文档

HDFS对应的知识库:
http://lib.csdn.net/hadoop/node/318

HDFS设计思想:
https://yq.aliyun.com/articles/8942
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: