HDFS的原理详解(一)

1.Hadoop是一个分布式系统基础架构,是一种分析和处理大数据的软件平台, HDFS分布式存储(分布式文件系统),是所有组件的基础

                

2.HDFS设计理念

HDFS的设计理念源于非常朴素的思想;当数据集的大小超过单台计算机的存储能力时,就有必要将其进行分区并存储到若干台单独的计算机上,该系统架构与 络之上,势必会引入 络编程的复杂性,因此分布式文件系统比普通文件系统更为复杂。 准确地说,Hadoop有一个抽象的文件系统的概念,HDFS只是其中的一个实现。

 如果用户想访问一个文件,这个时候用户只会和HDFS打交道,而HDFS会负责从底层的相应服务器中读取该文件,然后返回给用户,用户不需要了解这个文件是怎么在多台机器上存储的。

 

3.HDFS的特点:

适合存储超大文件 存储在HDFS的文件大多在GB甚至TB级别,目前阿里巴巴集群存储的数据已经达60PB 运行于廉价硬件之上 HDFS在设计的时候,就已经认为在集群规模足够大的时候,节点故障并不是小概率事件,而可以认为是一种常态。 易扩展、为用户提供性能不错的文件存储服务 设备廉价,替换扩展成本低,集群式结构,扩展方便;有高效的文件存储效率;

 

4、流式数据访问

HDFS认为,一次写入,多次读取是最高效的访问模式。HDFS存储的数据集作为Hadoop的分析对象,在数据集生成后,会长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要.

 

5、适合批处理

HDFS 适合一次写入、多次查询(读取)的情况。在数据集生成后,需要长时间在此数据集上进行各种分析。每次分析都将涉及该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。

 

6.HDFS的缺点:

(1)实施数据访问弱 ;如果应该要求数据访问的时间在秒或是毫秒级别,那么HDFS是是做不到的。由于HDFS针对高数据吞吐量做了优化,因而牺牲了读取数据的速度,对于响应时间是秒或者毫秒的数据访问,可以考虑使用Hbase ;

(2)不适合大量的小文件 当Hadoop启动时,NameNode会将所有元数据读到内存,以此构建目录树。一般来说,一个HDFS上的文件、目录和数据块的信息大约在150字节左右,那么可以推算初,如果NameNode的内存为16GB的话,大概只能存放480万个文件,对于一个超大规模的集群,这个数字很快就可以达到。

7.多用户写入,任意修改文件 HDFS中的文件只能有一个写入者,并且写数据操作总是在文件末。它不支持多个写入者,也不支持在数据写入后,在文件的任意位置进行修改。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月1日
下一篇 2021年7月1日

相关推荐