[hadoop] hadoop的优缺点总结

[hadoop] hadoop的优缺点总结

hadoop有以下四个优点:

1)高可靠性:Hadoop底层维护多个数据副本,所以即使Hadoop某个计算元素或存储出现故障,也不会导致数据的丢失。

2)高扩展性:能在廉价机器组成的集群间分配任务数据,可方便的扩展数以干计的节点。

3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。

4)高容错性:能够自动将失败的任务重新分配。

同时hadoop 1.x有以下三个缺点:

1)不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。

2)无法高效的对大量小文件进行存储。

(1)存储大量小文件的话,它会占用NamelNode大量的内存来存储文件目录和块信息。这样是不可取的,因为NameNode的内存总是有限的;

(2)小文件存储的寻址时间会超过读取时间,它违反了HDFS的设计目标。

3)不支持并发写入、文件随机修改。IHDFS

(1)一个文件只能有一个写,不允许多个线程同时写;

(2)仅支持数据append(追加),不支持文件的随机修改。

在hadoop2.x的时候更新了新特性

小文件存档

HDFS存档文件或HAR文件,是一个更高效的文件存档工具,它将文件存入HDFS块,在减少NameNode内存使用的同时,允许对文件进行透明的访问。具体说来,HDFS存档文件对内还是一个一个独立文件,对NameNode而言却是一个整体,减少了NameNode的内存。

这个新特性在一定程度上解决了hdfs存储小文件的问题,但是仍然不建议在hdfs中存储大量小文件.