HDFS中NameNode工作机制
1.NameNode的主要功能
(1)负责客户端请求的响应;
(2)负责元数据的管理。
2.元数据管理
namenode对数据管理采用了三种存储形式:
(1)内存元数据;
(2)磁盘元数据镜像文件;
(3)数据操作日志文件(可以通过日志运算出元数据)。
2.1元数据的存储机制
(1)内存中有一份完整的元数据(meta data);
(2)磁盘中有一个元数据镜像文件(fsimage),fsimage是HDFS文件系统存于硬盘中的元数据检查点,里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息;
(3)用于衔接内存meta data和持久化元数据镜像fsimage之间的操作日志(edits文件);edits保存了自最后一次检查点之后所有针对HDFS文件系统的操作,比如:增加文件、重命名文件、删除目录等等。
这两种文件存放在${dfs.namenode.name.dir}/current/目录下,文件名以edits_和fsimage_命名,该目录为NameNode上的本地目录。为了保证这两种元数据文件的高可用性,一般的做法,将dfs.namenode.name.dir设置成以逗号分隔的多个目录,这多个目录至少不要在一块磁盘上,最好放在不同的机器上。