> 文章列表 > 【大数据之Hadoop】三、HDFS概述及组成框架

【大数据之Hadoop】三、HDFS概述及组成框架

【大数据之Hadoop】三、HDFS概述及组成框架

解决海量数据的存储问题,是分布式的文件存储系统,通过目录树来定位文件,适合一次写入多次读出的场景。

优点:
(1)高容错性: 数据自动保存多个副本,,某副本丢失后可以自动恢复。
(2)适合处理大数据,包括数据规模和文件数量。

缺点:
(1)不适合 低延时的数据访问。
(2)无法高效对大量小文件进行存储:因为存储大量小文件时,会消耗很多存储空间用于NameNode节点来存储文件目录和文件块信息;并且小文件的寻址时间会超过读取时间。
(3)不支持并发写入、文件随机修改:一个文件只能有一个写,不允许多个线程同时写;只支持数据追加,不支持修改。

组成架构

【大数据之Hadoop】三、HDFS概述及组成框架
(1)NameNode(nn):相当于主管,下达命令。
管理HDFS的名称空间,即所有文件的元数据;
设置副本的策略;管理数据块的映射信息;
处理客户端的读写请求。

(2)DataNode:执行实际操作。
存储实际的数据,执行数据块的读写操作。

(3)Secondary NameNode(2nn):非NameNode的热设备,当NameNode挂掉是不能马上替换NameNode并提供服务。
辅助NameNode工作,定期合并镜像文件和工作日志并发送给NameNode;
可以恢复一部分NameNode。

(4)Client:负责文件切分,然后上传;
与NameNode交互,获取文件的位置;
与DataNode交互,读写数据;
提供命令管理HDFS(NameNode的格式化),和访问HDFS(对HDFS进行增删改查操作)。

文件块大小问题(重点)

HDFS中的文件在物理上是分块存储(Block),块的大小有配置参数规定,默认128M。
若传输时间为10ms则找到目标块的时间为10ms,最佳状态下:寻址时间=传输时间x1%。

文件块不能设置太大也不能设置太小:
若HDFS的块设置太小,则会增加寻址时间;若HDFS的块设置太大,则磁盘传输数据的时间会明显大于定位块开始的位置所需要的时间,不利于并发运算。

文件块大小与硬盘从读写速度有关,一般默认128M或256M