今天的文章总结了一下,HDFS的特点和优缺点,大家enjoy~~~

HDFS:分布式文件系统(Hadoop Distributed File
System)是Hadoop核心子项目,为Hadoop提供了一个综合性的文件系统抽象,并且只会实现了多类文件系统的接口。HDFS基于流式数据访问、存储和处理超大文件。
HDFS 与其他分布式文件系统有相同点,也有不同点。一个明显的不同之处是,HDFS
采用“一次写入、多次读取”模型,该模型降低了并发控制的要求,能支持高吞吐量的访问。由于Hadoop的整个生态系统都是开源的,这就使得用户可以在不了解HDFS底层细节的情况下开发分布式应用程序,充分利用集群的能力实现高速运算和存储。HDFS
支持数据节点的动态添加和移动,因此HDFS集群可以轻松地从几十台服务器扩展到上千台服务器。HDFS另一个显著的特点是它把数据处理逻辑放置到数据所在的节点,这种特性比通过传输数据到应用程序所在节点要好。

<>一、HDFS的特点

1,它适用于在分布式存储和处理。
2, Hadoop提供了一个与HDFS交互的命令接口。
3, namenode和datanode的内置服务器帮助用户轻松检查集群的状态。
4,流式访问文件系统数据。
5, HDFS提供文件权限和身份验证。

<>二、HDFS的优点

<>1,支持超大文件的存储

运行在HDFS的应用程序的数据处理有较大的需求,从存储GB到存储TB级别的超大文件,在目前的实际应用中,HDFS以及被利用来管理存储PB级别的数据

<>2,支持流式的访问数据

HDFS
的设计建立在“一次写入、多次读取”的基础上,它将数据写入严格限制为一次只能写入一个数据,字节总是被附加到一个字节流的末尾,字节流总是以写入顺序先后存储。这意味着一个数据集一旦由数据源生成,就会被复制分发到不同的数据节点中,然后响应各种各样的数据分析与挖掘任务请求。在多数情况下,数据分析与挖掘任务都会涉及数据集中的大部分数据,也就是说,对HDFS来说,请求读取整个数据集要比读取一条记录更加高效。

<>3,实用性强

Hadoop设计的目标就是要能在低廉的商用硬件环境中运行,无需昂贵的高可用性机器,这样可以降低成本。廉价的商用机也就意味着大型集群中出现节点故障情况的概率非常高。为此,
HDFS把数据块存储为多副本,确保在发生故障时系统能够继续运行且不让用户感觉到明显的中断。通过多副本机制,还可以提高可靠性。

<>三、HDFS的缺点

<>1,不适合低延迟数据访问

如果要处理一些用户要求时间比较短的低延迟应用请求,则HDFS不适合。HDFS是用于处理大规模数据集分析任务的,主要是为了达到高数据吞吐量而设计的,这就可能要求以高延迟作为代价。对于那些有低延时要求的应用程序,HBase或Spark是一个更好的选择,它们使用缓存或多个master设计来降低客户端的数据请求压力,以减少延时。

<>2,无法高效存储大量的小文件

对于Hadoop系统,小文件通常定义为远小于HDFS的数据块大小(128MB)的文件,由于每个文件都会产生各自的元数据,Hadoop通过NameNode来存储这些信息,若小文件过多,容易导致NameNode存储出现瓶颈。

<>3,不支持多用户写入和任意修改文件

HDFS目前不支持并发多用户的写操作,写操作只能在文件末尾追加数据。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信