HDFS的特征

Posted 阿木公的阳小山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS的特征相关的知识,希望对你有一定的参考价值。

HDFS(Hadoop Distribute File System)是一个分布式文件系统,它是谷歌的被称为大数据的三驾马车之一的论文"Google File System"的开源实现。在谈HDFS具体特征之前,我们先讨论以下HDFS解决的是什么问题。在找到这个问题的答案之前,我们需要先了解为什么需要分布式文件系统。


既然是分布式,那自然是集中式存储造成了问题,问题出现的根源就在于数据量太大了。固然我们可以通过提高集中式设备的性能来达到扩大存储的目的,但是提升单个设备的性能,与其带来的对数据的存储能力的提升有时候并不成正比。举个例子,假设当前的文件系统的存储能力为X,网络带宽性能为Y,我们可以将文件系统的存储能力提升为2X,成本可能会变为原来的4倍或更多,但是设备的能力提升并不一定能给我们带来double的体验,因为网络带宽没有变。

同时,集中式的存储往往会带来单点瓶颈,集中式的服务器一旦出现故障,将造成大面的服务瘫痪,因为没有其他服务器可以提供这种级别的能力,由此引入了分布式。


从上述的讨论中,我们最起码可以看到分布式必须要给我们带来的益处:首先,它需要具备大数据的存储能力,这是我们最基础的诉求;其次,必须要保证服务具有高可用性,不能出现一个服务器故障,整体服务瘫痪的状况。所以,这两者也一定得是HDFS这一分布式文件系统必须具备的特征,当然,天才的科学家们定然不会仅仅只让HDFS做到这些,概括来看,它具有下面几个特征:

  • 大规模数据的分布存储能力

    HDFS以分布式方式和良好的可扩展提供了大规模数据的存储能力。

  • 高并发访问能力

    HDFS以多节点并发访问的方式提供很高的数据访问带宽(高数据吞吐率)。

  • 容错能力

    在分布式环境中,失效应当被认为是常态。因此,HDFS必须具备正确检测硬件故障,并且能快速从故障中恢复过来,确保数据不丢失。为了保证数据的不丢不出错,HDFS采用了多副本的方式(默认副本数目为3)。

  • 顺序文件访问

    大数据批处理在大多数情况下都是大量简单记录的顺序处理。针对这个特性,为了提高大规模数据访问的效率,HDFS对顺序读进行了优化,但是对于随机访问负载较高。

  • 简单的一致性模型

    支持大量数据的一次写入,多次读取。

  • 数据块存储模式

    HDFS采用基于大粒度数据块的方式进行文件存储。之前的默认的块大小是64MB,2.7.3之后改为了128M,这样的好处是可以减少元数据的数量。

在后面,我们会一一探讨这些特征的实现方法,又或者这些特征设计为HDFS带来的巨大益处。

以上是关于HDFS的特征的主要内容,如果未能解决你的问题,请参考以下文章

HDFS特征引入背景时的一些思考

大数据的特征

前方高能 | HDFS 的架构,你吃透了吗?

前方高能 | HDFS 的架构,你吃透了吗?

预排序输入上的 Spark 特征向量变换

HDFS学习记录