HDFS(1)- 设计

HDFS的设计

我们从以下角度分析:

  • 超大文件

    HDFS可以并适合存储超大文件。这里只具有几百MB、几百GB、甚至几百TB大小的文件。目前已经有存储PB级数据的Hadoop集群了。

  • 流式数据访问

    HDFS的设计理念:一次写入、多次读取是最高效的访问方式。数据集写入后,每次分析都将涉及该数据集的大部分甚至全部,因此在HDFS的设计中读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。

  • 商用硬件

    HDFS并不需要运行在昂贵且可靠的硬件上。它是设计并运行在普通商用硬件的集群上的。同样也带来了问题,至少对于庞大的集群来说,节点故障的几率还是比较高的。但是HDFS的高可用机制和容错机制,可以让集群继续运行,并且不让用户察觉到明显的中断。

  • 低时间延迟的数据访问

    对低时间延迟要求较高的应用,不适合在HDFS上运行。HDFS是为高数据吞吐量应用优化的。为了实现这个目的,提高时间延迟也是代价的一部分。对于低延迟的应用HBase应该是不错的选择。

  • 大量小文件

    由于namenode将文件系统的元数据存储在内存中,因此文件系统所能存储的文件总数受限于namenode的内存大小。如果每个文件的元数据大小为150字节,那么存储一百万个文件,至少要300MB的内存。可想而知,如果有更多文件将会怎样。

  • 多用户写入,任意修改文件

    HDFS的文件仅支持单个写入者,写操作只能是以在文件末尾追加的方式。不支持随机读写。

总结

从以上角度我们大概就能清楚的认识到HDFS的适用场景是怎样的,我们在设计或部署HDFS集群时应该考虑哪些问题。比如:并不是仅仅盲目的增加机器数据量,就能完美扩容的。

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

相关阅读更多精彩内容

  • 首先,我们在使用前先看看HDFS是什麽?这将有助于我们是以后的运维使用和故障排除思路的获得。 HDFS采用mast...
    W_Bousquet阅读 9,754评论 0 2
  • HDFS的设计目标 通过上一篇文章的介绍我们已经了解到HDFS到底是怎样的东西,以及它是怎样通过多副本机制来提供高...
    陌上疏影凉阅读 5,312评论 0 3
  • 一、Hadoop Hadoop是Apache开源的大数据存储及分析的工具。 数据存储以自带的旗舰级分布式文件系统H...
    Mervey阅读 4,112评论 0 0
  • 不见碣石,只见沧海,登高而望,永无尽时天涯明月未有变,沧海桑田人不知 汉唐西京,明清北都,多少血泪,笔画如刀 君不...
    24e2f6668318阅读 1,864评论 0 0
  • Legendshop带你玩转互联网+小卖部 去年推出的“零售通”一站式进货平台,为社区零售店提供订货、物流、营销和...
    朗尊先生阅读 3,823评论 0 0

友情链接更多精彩内容