《从零开始学Hadoop大数据分析(视频教学版)》 —3.2.5 HDFS的核心概念
3.2.5 HDFS的核心概念
关于HDFS有以下核心概念,理解这些概念对于更好地了解HDFS的原理有很大帮助。
1.数据块(block)
每个磁盘都有默认的数据块大小,这是磁盘进行数据读/写的最小单位。HDFS也有块的概念,在HDFS 1.x中默认数据块大小为64MB,在HDFS 2.x中默认数据块大小为128MB。
与单一磁盘上的文件系统相似,HDFS上的文件也被划分成块大小的多个分块(chunk),作为独立的存储单元。但与面向单一的文件磁盘系统不同的是,HDFS中小于一个块大小的文件不会占据整个块的空间(例如一个1MB的文件存储在一个128MB的块中时,文件只会使用1MB的磁盘空间,而不是128MB)。
2.NameNode
NameNode为HDFS集群的管理节点,一个集群通常只有一台活动的NameNode,它存放了HDFS的元数据且一个集群只有一份元数据。NameNode的主要功能是接受客户端的读写服务,NameNode保存的Metadata信息包括文件ownership、文件的permissions,以及文件包括哪些Block、Block保存在哪个DataNode等信息。这些信息在启动后会加载到内存中。
3.DataNode
DataNode中文件的储存方式是按大小分成若干个Block,存储到不同的节点上,Block大小和副本数通过Client端上传文件时设置,文件上传成功后副本数可以变更,BlockSize不可变更。默认情况下每个Block都有3个副本。
4.SecondaryNameNode
SecondaryNameNode(简称SNN),它的主要工作是帮助NameNode合并edits,减少NameNode启动时间。SNN执行合并时机如下:
* 根据配置文件设置的时间间隔fs.checkpoint.period,默认3600秒。
* 根据配置文件设置edits log大小fs.checkpoint.size,规定edits文件的最大值默认是64MB,如图3.4所示。
图3.4 配置文件设置
5.元数据
元数据保存在NameNode的内存中,以便快速查询,主要包括fsimage和edits。
* fsimage:元数据镜像文件(保存文件系统的目录树)。
* edits:元数据操作日志(针对目录树的修改操作)被写入共享存储系统中,比如NFS、JournalNode,内存中保存一份最新的元数据镜像(fsimage+edits)。
- 点赞
- 收藏
- 关注作者
评论(0)