首页 理论教育 HDFS的特点分析

HDFS的特点分析

时间:2023-06-28 理论教育 版权反馈
【摘要】:总体说来可将HDFS的主要特点概括为以下几点。因此错误检测和快速、自动的恢复是HDFS重要特点。

HDFS的特点分析

HDFS被设计成适合运行在通用硬件上的分布式文件系统。它是一个高度容错性的系统,适合部署在廉价的机器上,能提供高吞吐量的数据访问,适合大规模数据集上的应用,同时放宽了一部分POSIX(可移植操作系统接口)约束,实现流式读取文件系统数据的目的。总体说来可将HDFS的主要特点概括为以下几点。

6.1.2.1 高效的硬件响应

HDFS可能由成百上千的服务器所构成,每个服务器上都存储着文件系统的部分数据。构成系统的模块数目是巨大的,而且任何一个模块都有可能失效,这意味着总是有一部分HDFS的模块是不工作的。因此错误检测和快速、自动的恢复是HDFS重要特点。

6.1.2.2 流式数据访问

运行在HDFS上的应用和普通的应用不同,需要流式访问它们的数据集。流式数据的特点是像流水一样,是一点一点“流”过来,而处理流式数据也是一点一点处理。如果是全部收到数据以后再处理,那么延迟会很大,而且在很多场合会消耗大量内存。HDFS的设计中更多地考虑到了数据批处理,而不是用户交互处理。较之数据访问的低延迟问题,更关键在于数据访问的高吞吐量。POSIX标准设置的很多硬性约束对HDFS应用系统不是必需的。为了提高数据的吞吐量,在一些关键方面对POSIX的语义做了一些修改。

6.1.2.3 大规模数据集

运行在HDFS上的应用具有很大的数据集。HDFS上的一个典型文件大小一般都在GB至TB级别。HDFS能提供较高的数据传输带宽,能在一个集群里扩展到数百个节点。一个单一的HDFS实例能支撑数以千万计的文件。

6.1.2.4 简单的一致性模型(www.xing528.com)

HDFS应用采用“一次写入多次读取”的文件访问模型。一个文件经过创建、写入和关闭之后就不再需要改变。这一模型简化了数据一致性的问题,并且使高吞吐量的数据访问成为可能。MapReduce应用或网络爬虫应用都遵循该模型。

6.1.2.5 异构软硬件平台间的可移植性

HDFS在设计的时候就考虑到平台的可移植性。这种特性方便了HDFS作为大规模数据应用平台的推广。

需要注意的是HDFS不适用于以下应用:

(1)低延迟数据访问。因为HDFS关注的是数据的吞吐量,而不是数据的访问速度,所以HDFS不适用于要求低延迟的数据访问应用。

(2)大量小文件。HDFS中NameNode负责管理元数据的任务,当文件数量太多时就会受到NameNode容量的限制。例如,每个文件的索引目录及块大约占100字节,如果有100万个文件,每个文件占一个块,那么至少要消耗200MB内存。当文件数更多时,NameNode检索处理元数据的时间会很长,内存消耗也非常高。

(3)多用户写入修改文件。HDFS中的文件只能有一个写入者,而且写操作总是在文件结尾处,不支持多个写入者,也不支持在数据写入后,在文件的任意位置进行修改。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈