美文网首页
揭开hdfs的面纱

揭开hdfs的面纱

作者: trieyouth | 来源:发表于2016-04-08 15:49 被阅读357次

    前言

    这一篇感觉是进入hadoop生态圈的第一步,了解hdfs的构造。

    hdfs设计的初衷

    其实hdfs是山寨的gfs,是开源社区的仿造关于gfs的那篇论文开发出来的分布式文件系统。所以hdfs和gfs的设计目的初衷时相同的。

    • 超大文件(TB,PB级文件)
    • 高容错性 (保证数据的不丢失)
    • 高吞吐量

    hdfs的优点

    • 可以满足大数据量的存储
    • 使用普通低廉的硬盘设备,但是硬盘损坏后数据不会丢失。
    • 使用廉价硬盘,但是整体读写性能较好

    hdfs的缺点

    • 不适合小数据
    • 读取延迟时间长
    • 随机读取能力差
    • 架构复杂

    hdfs怎么保存超大文件

    假设有一个100T的文件,但是硬盘最大的只有1T,所以这些数据就要使用100块硬盘。这其实就是文件的分块存储,hdfs在软件的级别上实现了文件的分块存储。

    图一(假设64位操作系统)

    hdfs为什么可以保证数据不丢失

    保证数据不丢失基本只有一种方式——冗余数据。在hdfs用默认所有的数据块都会有3份备份,具体几份可以自己设定。

    图二

    hdfs为什么硬盘低廉也可以实现高吞吐

    假设由1T的数据,如果由一块普通的硬盘存储,将数据全部读出需要2.5个小时,但是如果有10块硬盘,将数据分块存储在10个硬盘里,进行并行的读取,速度就提高了10倍。hdfs的原理也是相同的。

    hdfs为什么不适合小数据

    不是hdfs不能存储小数据,而是存储小数据的时候性能不如linux文件系统(原因后续会讲),所以不适合。

    hdfs为什么读取延迟长

    hdfs为了提高吞吐量,每次需要初始化,启动时间较长,所以读取延迟增加。

    结尾语

    计算机的技术虽然不同,但是想法都是共同的,比如这里提升吞吐量就是并行,保证数据不丢失只有备份冗余,对大文件也只有分块存储。

    相关文章

      网友评论

          本文标题:揭开hdfs的面纱

          本文链接:https://www.haomeiwen.com/subject/ufzmlttx.html