zoukankan      html  css  js  c++  java
  • 分布式文件系统(HDFS)与 linux系统文件系统 对比

    初次接触分布式文件系统,有很多迷惑。通过参考网络文章,这里进行对比一下Hadoop 分布式文件系统(HDFS)与 传统文件系统之间的关系:

      Linux 文件系统 分布式文件系统
    块对应物理磁盘的block 块对应linux 文件
    读写单位 一个磁盘块的大小是最小单位 Linux 系统文件是最小读写单位(默认64mb)
    单个文件 多个数据块组成 多个文件组成
    文件元数据信息

    inode 记录文件存放的数据区的block指针

    namenode 记录linux 数据文件所在的datanode

            


            每个磁盘都有默认的数据块大小,这是磁盘进行数据读/写的最小单位。而构建于单个磁盘之上的文件系统(linux文件系统)通过磁盘块来管理该文件系统中的块,该文件系统中的文件大小是磁盘块的整数倍。磁盘块的大小一般为512字节,其读写的最小单位是磁盘块的最小单位.文件占用的块由inode进行管理,记录该文件存放数据的N个block的物理地址,具体linux下文件系统的构成请参考我另一篇文章。

           HDFS同样也有块的概念,HDFS文件系统中的块指的是linux文件,分布式文件就是有多个linux文件(块)组成。其最小块单位就是一个Linux文件的大小,默认为64MB,其分片成的linux文件的文件名有HDFS的namenode管理,该节点还管理了linux文件对应datanode节点的映射关系。假设有一个1G的大文件,在linux文件系统上就是一个文件,由1G/512b的block组成;在HDFS上需要1024MB/64MB=16块,即16个linux文件组成,所以相当于一个普通1G的文件分成了16个小文件,在HDFS上的namenode会记录1G文件名对应16个文件名映射关系和16个文件名在对应datanote节点上的映射关系(备份除外)。datanote节点上的16个小文件就是linux文件,在各自datanote节点上的inode里记录了16个文件对应物理磁盘的映射关系。简而言之:1G的分布式文件转换成16个linux文件,HDFS就是实现了拆分文件功能,当然由于考虑单点故障原因,它把每个文件复制了3份(默认), 不管哪个节点出故障可以合成完整的一个1G文件。

    保持更新,转载请注明出处。如果对你有所帮助请点击右下角的推荐进行支持。

    参考链接:

    http://www.cnblogs.com/yyyyy5101/articles/1901842.html 

    https://blog.csdn.net/qq_32041579/article/details/77752733

  • 相关阅读:
    bootstrap 按钮 文本 浮动 隐藏
    bootstrap 表单控件 控件状态 控件大小 help-block
    wps 操作
    SSH中的免password登录
    Qt音乐播放器制作(二)Easy Player
    云计算资源分享与下载
    uva11059(最大乘积)
    两小时搞定C#版超级战舰游戏
    数据库中的參照完整性(Foreign Key)
    动手解决困扰自己的事情——记屏蔽网页广告
  • 原文地址:https://www.cnblogs.com/xuyaowen/p/linuxfs_hdfs.html
Copyright © 2011-2022 走看看