HDFS成员的工作机制

NameNode工作机制
nn负责管理块的元数据信息,元数据信息为fsimage和edits预写日志,通过edits预写日志来更新fsimage中的元数据信息,
每次namenode启动时,都会将磁盘中的fsimage读入到内存
当达到snn的checkpoint标准时(一小时或100W次操作),由scc辅助nn进行edits和fsimage的合并

SecondaryNameNode的工作机制
scc向nn询问是否需要执行checkpoint,并且直接带回询问结果。
scc请求执行checkpoint
nn滚动正在写的edits日志,将checkpoint以前的edits和fsimage拷贝给snn
snn将edits和fsimage加载到内存中并且合并,生成新的文件fsimage.checkpoint
snn将新生成的fsimage.checkpoint拷贝给nn,nn将文件改名为fsimage
*** Fsimage介绍 ***
FSImage 是 NameNode 自最后一次 CheckPoint 之前的全部元数据,并不是实时的数据
FSImage 保存了 NameNode 管理下的所有 DataNode 的文件和目录信息
(对文件来说:包括文件的 block、各个 block 所在的 DataNode,以及它们的修改时间、访问时间等
对目录来说:包括修改时间、访问权限控制信息(权限、属组)等。)
FSImage 默认会保存2个,由属性 dfs.namenode.num.checkpoints.retained 控制。
【HDFS成员的工作机制】
DateNode工作流程
dn在启动后会向nn进行注册,汇报块信息,
在注册成功后,默认每隔6小时向nn汇报一次块信息,
每三秒与nn进行一次心跳,心跳会带回nn对dn的命令,如删除某数据块(如果超过10分钟+30秒没有与nn进行心跳则会认为次dn已经挂掉)
集群运行中可以安全的加入和退出一些机器

    推荐阅读