NAMENODE职责:
负责客户端请求的响应
元数据的管理(查询,修改)
客户端经常性的会有 查询元数据的请求 和更新元数据的请求
namenode对数据的管理采用了三种存储形式:
内存元数据(NameSystem)
磁盘元数据镜像文件(fsimage)
数据操作日志文件(可通过日志运算出元数据edits)
secondary namenode 主要对image镜像文件的管理
1.当有元数据有更新请求的时候,先记录操作日志edits,
2.然后会更新到内存当中
3.checkpiont 触发条件:定时 或者是edits中的记录数量(默认情况下30分钟)
4.namenode检查触发条件,当满足条件,会向secondarynamenode做出请求
5 edits.inprogress会立马滚动一次,将正在写的数据生成为旧的edits
6.secondarynamenode会将namenode上的fsimage和若干个edits下载下来
7,将fsimage和edits合并成为一个新的文件fsimage
8,把生成的新的文件请求上传到namenode,nomenode会将本地fsimage进行覆盖
之前的edits文件在下载完以后,会清除