一、HDFS(Hadoop Distributed File System的英文首字母缩写)
意思是Hadoop分布式文件系统,主要用来解决海量数据的存储问题
概念:
HDFS是一个分布式的(何为分布式?在空间的任意点上随意分布)由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。其次是一个文件系统,用于存储文件,通过统一的命名空间–目录树来定位文件。
二、HDFS的设计思想
1、分散均匀存储 dfs.blocksize=128M
2、备份冗余存储 dfs.replication=3
三、HDFS的特性
1、物理上分块存储:块大小可以通过配置dfs.blocksize来规定,如不配置,那么2.x版本默认为128M,1.x版本默认是64M
2、有统一的命名空间–目录树,客户端可以通过目录路径来访问文件
3、目录结构和分块信息(元数据)的管理由NameNode节点承担
4、block的存储管理由DataNode承担
5、HDFS设计成适应一次写入,多次读出的场景,不支持文件修改(所以适用于做数据分析,不适宜做网盘应用)
四、HDFS局限性
1、由于HDFS是为高吞吐量做出的设计,所以它在响应速度上做出了牺牲,对于低延时的应用不太适用,一般使用Hbase
2、当存储的是大量小文件的时候,由于HDFS默认的块大小为128M,所以大量的小文件会增加NameNode上的元数据,从而影响集群的性能。
3、不支持多用户写入,以及文件修改,HDFS只有一个写入者,从而写操作只能在文件结尾以追加的方式进行。
五、HDFS保证其可靠性的措施
1、冗余备份
每个文件存储为一系列的数据块,为了容错,文件的所有数据块都会有副本(副本机制dfs.replication)
2、副本存放策略
采用机架感知的策略来改进数据的可靠性、高可用和网络带宽的利用率
3、心跳检测
NameNode周期性的从及群众的每一个DataNode接受心跳检测包和块报告,来获取DataNode的工作情况,并采取措施。
4、安全模式
系统启动时,NameNode会进入安全模式,此时不会出现数据块的写操作
5、数据完整性检测
HDFS客户端软件实现了对HDFS文件内容的校验和检查
Hadoop(三)HDFS认识和理解
最新推荐文章于 2022-12-27 15:19:47 发布