HDFS 笔记二

 

1.HDFS元数据管理机制

计算机中存储数据两种:内存或者是磁盘
元数据存储磁盘:存储磁盘无法面对客户端对元数据信息的任意的快速低延迟的响应,但是安全性高
元数据存储内存:元数据存放内存,可以高效的查询以及快速响应客户端的查询请求,数据保存在内存,如果断点,内存中的数据全部丢失。

权衡:内存+磁盘;NameNode内存+FsImage的文件(磁盘)

 

两个合并=完整数据:NameNode引入了一个edits文件(日志文件:只能追加写入)edits文件记录的是client的增删改操作

2.元数据管理流程图

第一阶段:NameNode启动
     1.第一次启动NameNode格式化后,创建FsimageEdits文件。如果不是第一次启动,直接加载编辑日志和镜像文件到内存。
     2.客户端对元数据进行增删改的请求。
     3.NameNode记录操作日志,更新滚动日志。 NameNode在内存中对数据进行增删改。

第二阶段:Secondary NameNode工作
     1.Secondary NameNode
询问NameNode是否需要CheckPoint。直接带回NameNode是否执行检查点操作结果。
      2.Secondary NameNode
请求执行CheckPoint。
      3.NameNode
滚动正在写的Edits日志。
      4.将滚动前的编辑日志和镜像文件拷贝到
Secondary NameNode。
      5.Secondary NameNode加载编辑日志和镜像文件到内存,并合并。
      6.生成新的镜像文件
fsimage.chkpoint。
      7.拷贝
fsimage.chkpoint到NameNode
      8.NameNode
fsimage.chkpoint重新命名成fsimage

问题:
1.Fsimage中为什么没有记录块所对应DataNode?
  在集群启动后,
NameNode要求DataNode上报数据块信息,并间隔一段时间后再次上报。
2.NameNode启动时如何确定加载哪些Edits文件呢?
  
需要借助fsimage文件最后数字编码,来确定哪些edits之前是没有合并到fsimage中,启动时只需要加载那些未合并的edits文件即可。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章