Fsimage,Edits
fsimage记录HDFS文件系统的镜像或快照(周期性记录)(此文件相对较小)
Edits 记录客户端对集群进行所有的增、删、改、追加 等操作(没有使用Secondary NameNode之前,不是周期性生成)(此文件相对较大)
Fsimage Edits作用:用于还原集群上次关闭时的状态。还原时将两个文件加载到内存,检查,合并最终生成一个新的Fsimage。原本的Edits失效
查看Fsimage Edits
在配置文件hdfs-site.xml中记录了两个文件存放位置
edits存放路径: /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits/current
Fsimage 的存放路径:/export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas/current
将Fsimage转换成xml
hdfs oiv -i fsimage_0000000000000024681 -p XML -o test001.xml
将 Edits转换成xml
hdfs oev -i edits_0000000000000000523-0000000000000024565 -p XML -o test002.xml
SecondaryNameNode工作原理
前提:不使用SNN,日志文件会很大,日志大会导致集群恢复到上次关机前的状态花费很长的时间,这个时候集群处于安全模式,集群不可用。长时间处于安全模式。
目标:加快集群二次启动的速度。(减少集群二次启动的时间)
SecondaryNameNode周期性复制NameNode的FSMAGE和edits到本机(SecondaryNameNode本机),将两个文件进行合并,最终生成新的Fsimage,将最新的Fsimage发送到NameNode
意义:辅导NameNode合并Fsimage Edits减小了日志的大小,加快了集群的二次启动速度。
SecondaryNamenode自己独立部署在有一个节点上。此节点的配置要与NameNode相同。
使用最后一个edits和fsimage
什么时候进行文件拷贝合并
1 dfs.namenode.checkpoint.period :3600 默认情况下 一小时合并一次
2、dfs.namenode.checkpoint.txns :1000000 100W次集群操作,进行一次合并