HDFS

            HDFS是HADOOP的分布式文件系统,它的设计目标是存储海量数据,为网络中的大量客户端提供数据访问。

            在hdfs中单个文件被拆分多个固定大小的block,保存在各个datanode中,访问一个文件通常需要访问多个datanode才能获取完整的数据。

            datanode中的一个block是以单独的文件形式保存的,并提供对metadata的快速访问结构。每个metadata较小,为了保证随机快速访问是存放在namenode节点的内存中,metadata在设计上也是非常紧凑的,所以即使一个内存很小的namenode也能支持超大数据的访问。

            元数据存储在内存中存储同时也是持久化的,当metadata修改后会存储在本地文件FsImage中,同时使用事务日志EditLog记录每次变动列表。

            HDFS的namenode基于主从架构,避免单点故障,失效转移。从namenode维护2个数据结构,metadata镜像文件及EditLog。

            block默认是64M或128M,并不意味着小文件(小于64M)会任然占用64M的存储空间。实际上小文件只占用它实际需要占用的磁盘空间。这不是说大量的小文件对整个hdfs文件系统没有影响:实际上当大量的小文件会占用大量的metadata,而metadata的大小是固定的,从而给整个hdfs的查询、扩展上上来带了负面影响。

            datanode的复制:如果没有datanode复制功能,可以想的到的缺陷,文件被拆分成多个block存放在不同的datanode上,如果其中的某台datanode出现了故障,整个文件将不能还原。为了避免此问题,hdfs提供在多台机器上进行复制过程,默认是3台,在配置datanode复制因子的时候,填写2即可。

            在hdfs中block的复制是写操作中的一部分,文件通过客户端写入到某个datanode中,当写入的数据满足一个block大小时,就向namenode申请复制,namenode会分配一个datanode进行复制,并记录该block的datanode列表,知道该block的列表长度达到设定的数量时不再分配datanode。

Paste_Image.png

            在复制过程中,如果分配的datanode发生了故障,namenode会再分配一个datanode进行重新复制,并将无效的datanode从列表中移除。当block复制完成后,通知namenode复制完成,列表长度+1;

            namenode会每3s接收datanode的心跳报告,通过报告验证datanode上的信息和metadata存储的信息一致。namenode利用这些心跳来标识datanode是否失效,失效的记为死机状态,不再向其发送任何io操作,除非datanode再次向namenode发送心跳。

            HDFS重要特性:机架感知,如果一个block存放的datanode在不同机架上(或不同的地理位置),获取文件的最快速度就是从同一机架或机房上获取block。最简单的策略就是每个机架(地区)上都有一份block副本,在整个机架丢失数据也不会丢失同时也做到了数据均匀分布,但这样对于写操作消耗较大,每次写都要复制到不同的机架(地区)上。

            机架感知策略可以理解为,metadata记录了每个block副本的ip地址,通过ip段匹配策略来区分哪个block离该namenode最近,视为最近的block。以减少跨机架(地区)IO。

            HDFS文件的操作:hdfs shell或客户端 。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 认识HDFS HDFS的特点: 高容错性高吞吐量故障的检测和自动快速恢复流式的数据访问大数据集一次写入,多次读写 ...
    Bloo_m阅读 8,533评论 6 8
  • 首先,我们在使用前先看看HDFS是什麽?这将有助于我们是以后的运维使用和故障排除思路的获得。 HDFS采用mast...
    W_Bousquet阅读 9,753评论 0 2
  • hdfs是什么? 问题: 1. hdfs是基于什么样的原理将文件分块存储到分布式环境中的各个设备上的? 2. h...
    4762d2980c91阅读 10,208评论 0 6
  • [cp]一首新的原创出锅了希望你们能够喜欢。 《现实》 三年了,我一直在等你,等你能够来到我身边的那天。可你为了他...
    苏a晨啊阅读 1,391评论 0 2
  • 辞职到现在还有4天就满一个月了,家里人分成两派,一派是希望我能尽快找到工作,不虚晃时光,一派是希望我能找到我喜欢的...
    平凡我的一生阅读 1,535评论 0 0

友情链接更多精彩内容