hdfs体系

hdfs体系_第1张图片

1.Namenode

   (1)是整个文件系统的管理节点

    (2)它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。

    (3)接收用户的操作请求

    (4)目录管理者

    元数据信息:举例见下图

  

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


2.与Namenode相关的三个文件

   (1) fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息
    (2)edits:操作日志文件。
    (3)fstime:保存最近一次checkpoint的时间
       以上这些文件是保存在linux的文件系统中。

       Hadoop会维护一个fsimage文件,也就是namenode中metedata的镜像(存在磁盘上),但是fsimage不会随时与namenode内存中的metedata保持一致(2.0是一致的),而是每隔一段时间通过合并edits文件来更新内容。Secondary namenode就是用来合并fsimage和edits文件来更新NameNode的metedata的。


3.三个文件的图解



4.HDFS优缺点

   优点:存储超大数据;流式访问(数据分发到不同块上);运行在廉价的商用机群

   缺点:不适合低延时访问;不能有效存储大量小文件(元数据条数会太多,占用内存大)

5.关于副本

   HDFS的存放策略是将一个副本存放在本地机架的节点上,另一个副本放在同一机架的另一个节点上,第三个副本放在不同机架的节点上。

6.JavaAPI

    主要是FileSystem这个类

7.HDFS读写数据流

   


hdfs体系_第2张图片




你可能感兴趣的:(hdfs)