hdfs的优点是:1、高容错性;2、适合批处理;3、适合大数据处理;4、流式数据访问;5、可构建在廉价机器上。hdfs的缺点是:1、不适合低延迟的数据访问;2、不适合存储⼤量的⼩⽂件;3、不⽀持并发写⼊以及随即修改。hdfs通过增加副本的形式,提高容错性。
hdfs的优点是:
1、高容错性
数据自动保存多个副本。它通过增加副本的形式,提高容错性。某一个副本丢失以后,它可以自动恢复,这是由 HDFS 内部机制实现的,我们不必关心。
2、适合批处理
它是通过移动计算而不是移动数据。它会把数据位置暴露给计算框架。
3、适合大数据处理
数据规模:能够处理数据规模达到 GB、TB、甚至PB级别的数据。
文件规模:能够处理百万规模以上的文件数量,数量相当之大。
节点规模:能够处理10K节点的规模。
4、流式数据访问
一次写入,多次读取,不能修改,只能追加。它能保证数据的一致性。
5、可构建在廉价机器上
它通过多副本机制,提高可靠性。它提供了容错和恢复机制。比如某一个副本丢失,可以通过其它副本来恢复。
hdfs的缺点是:
1、不适合低延迟的数据访问
访问hdfs的数据是相对较慢的,⽆法做到像 mysql 那样的毫秒级别的读写数据。所以不适合低延时数据访问,比如毫秒级的存储数据,是做不到的。低延迟数据访问:例如,订单是否适合存储在HDFS中,要求数据毫秒级就要查出来。
2、不适合存储⼤量的⼩⽂件
所有存储在 hdfs上的⽂件都需要由 NameNode来管理元数据信息,每个 block块的元数据信息都会占⽤ 150字节的内存空间,会增⼤ NameNode的负担。
例如同样存储10M的内容,采取副本数为3的备份机制,这10M放在⼀个⽂件中,所⽤到的元数据占⽤的内存为150*3=450字节,如果把这10M放到10个⽂件中,则占
⽤150*10*3=4500字节,很明显,存储相同的内容,第⼆种⽅式占⽤的内存更多。
3、不⽀持并发写⼊以及随即修改
⼀个⽂件只能有⼀个⽤户写,不允许多个线程同时写⼊
仅⽀持数据的追加,不⽀持⽂件的随即修改,一个文件只能有一个写,不允许多个线程同时写;仅支持数据append(追加),不支持文件的随机修改。不适合修改,实际中网盘、云盘内容是不允许修改的,只能删了重新上传,它们都是Hadoop实现的。
延伸阅读:
什么是hdfs?
Hadoop分布式文件系统(HDFS)是指被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System)。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。
HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。
文章标题:hdfs的优缺点是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35108