设为首页 加入收藏

TOP

Hadoop的特点与缺点
2019-02-12 12:37:50 】 浏览:11
Tags:Hadoop 特点 缺点
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35370485/article/details/77073910


1、支持超大文件,一般来说,HDFS 存储的文件可以支持 TB 和 PB 级别的数据。

2、检测和快速应对硬件故障:
在集群环境中,硬件故障是常见性问题。因为有上千台服务器连在一起,故障率高,因此故障检测和自动恢复 hdfs 文件系统的一个设计目标。假设某一个 datanode 节点挂掉之后,因为数据备份,还可以从其他节点里找到。namenode 通过心跳机制来检测 datanode 是否还存在
3、流式数据访问:
HDFS 的数据处理规模比较大,应用一次需要大量的数据,同时这些应用一般都是批量处理,而不是用户交互式处理,应用程序能以流的形式访问数据库。主要的是数据的吞吐量,而不是访问速度。访问速度最终是要受制于网络和磁盘的速度,机器节点再多,也不能突破物理的局限,HDFS 不适合于低延迟的数据访问,HDFS 的是高吞吐量。
4、简化的一致性模型:
对于外部使用用户,不需要了解 hadoop 底层细节,比如文件的切块,文件的存储,节点的管理。
一个文件存储在 HDFS 上后,适合一次写入,多次写出的场景 once-write-read-many。因为存储在 HDFS 上的文件都是超大文件,当上传完这个文件到 hadoop 集群后,会进行文件切块,分发,复制等操作。如果文件被修改,会导致重新出发这个过程,而这个过程耗时是最长的。所以在 hadoop 里,不允许对上传到 HDFS 上文件做修改 (随机写),在 2.0 版本时可以在后面追加数据。但不建议。
5、高容错性:
数据自动保存多个副本,副本丢失后自动恢复。可构建在廉价机上,实现线性 (横向) 扩展,当集群增加新节点之后,namenode 也可以感知,将数据分发和备份到相应的节点上。
6、商用硬件
Hadoop 并不需要运行在昂贵且高可靠的硬件上,它是设计运行在商用硬件的集群上的,因此至少对于庞大的集群来说,节点故障的几率还是非常高的。HDFS 遇到上述故障时,被设计成能够继续运行且不让用户察觉到明显的中断。


HDFS 缺点:
1、不能做到低延迟
由于 hadoop 针对高数据吞吐量做了优化,牺牲了获取数据的延迟,所以对于低延迟数据访问,不适合 hadoop,对于低延迟的访问需求,HBase 是更好的选择,
2、不适合大量的小文件存储
由于 namenode 将文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于 namenode 的内存容量,根据经验,每个文件、目录和数据块的存储信息大约占 150 字节。因此,如果大量的小文件存储,每个小文件会占一个数据块,会使用大量的内存,有可能超过当前硬件的能力。
3、不适合多用户写入文件,修改文件
Hadoop2.0 虽然支持文件的追加功能,但是还是不建议对 HDFS 上的 文件进行修改,因为效率低。
对于上传到 HDFS 上的文件,不支持修改文件,HDFS 适合一次写入,多次读取的场景。
HDFS 不支持多用户同时执行写操作,即同一时间,只能有一个用户执行写操作。

编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop shell命令详解 下一篇Hadoop编程学习5--PageRank算法实..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }