学科分类
目录
Hadoop技术栈

HDFS的特点

随着互联网数据规模的不断增大,对文件存储系统提出了更高的要求,需要更大的容量、更好的性能以及安全性更高的文件存储系统,与传统分布式文件系统一样,HDFS分布式文件系统也是通过计算机网络与节点相连,但也有传统分布式文件系统的优点和缺点。

  • 优点

(1)高容错

HDFS是可以由成百上千台服务器机器组成,每个服务器机器存储文件系统数据的一部分。HDFS中的副本机制会自动把数据保存多个副本,DataNode节点周期性地向NameNode发送心跳信号,当网络发生异常,可能导致DataNode与NameNode失去通讯,NameNode和DataNode通过心跳检测机制,发现DataNode宕机,DataNode中副本丢失,HDFS则会从其他DataNode上面的副本自动恢复,所以HDFS具有高的容错性。

(2)流式数据访问

HDFS的数据处理规模比较大,应用程序一次需要访问大量的数据,同时这些应用程序一般都是批量的处理数据,而不是用户交互式处理,所以应用程序能以流的形式访问数据集,请求访问整个数据集要比访问一条记录更加高效。

(3)支持超大文件

HDFS分布式文件系统具有很大的数据集,旨在可靠的大型集群上存储超大型文件(GB、TB、PB级别的数据),它将每个文件切分成多个小的数据块进行存储,除了最后一个数据块之外的所有数据块大小都相同,块的大小可以在指定的配置文件中进行修改,在Hadoop2.x版本中默认大小是128M。

(4)高数据吞吐量

HDFS采用的是“一次写入,多次读取”这种简单的数据一致性模型,在HDFS中,一个文件一旦经过创建、写入、关闭后,一旦写入就不能进行修改了,只能进行追加,这样保证了数据的一致性,也有利于提高吞吐量。

(5)可构建在廉价的机器上

Hadoop的设计对硬件要求低,无需构建在昂贵的高可用性机器上,因为在HDFS设计中充分考虑到了数据的可靠性、安全性和高可用性。

  • 缺点

(1)高延迟

HDFS不适用于低延迟数据访问的场景,例如:毫秒级实时查询。

(2)不适合小文件存取场景

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

(3)不适合并发写入

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

点击此处
隐藏目录