HDFS中Fsimage,Edits详解(6)

 在之前的分享中,我们在谈到NameNode的作用时,有一个作用就是管理文件系统的元数据。接下来小菌将先为大家带来的是NameNode元数据解析的过程。

NameNode元数据解析
NameNode元数据解析
(1)第一次启动namenode格式化后,创建fsimage和edits文件。如果不是第一次启动,直接加载edits和fsimage文件到内存。
(2)客户端对元数据进行增删改的请求。
(3)namenode记录操作日志,更新滚动日志。
(4)namenode在内存中对数据进行增删改查。

在这里插入图片描述

fsimage保存了最新的元数据检查点,在HDFS启动时加载fsimage的信息,包含了整个HDFS文件系统的所有目录和文件的信息。
对于文件来说包括了数据块描述信息、修改时间、访问时间等。
对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组)等。

editlog主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到editlog中。
Fsimage,editlog主要用于在集群启动时将集群的状态恢复到关闭前的状态。
为了达到这个目的,集群启动时将Fsimage、editlog加载到内存中,进行合并,合并后恢复完成。

查看元数据目录的配置
先到达hadoop文件夹下
/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
查看hdfs-site.xml信息
vim /hdfs-site.xml

<property>
  <name>dfs.namenode.name.dir</name>
     <value>      
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas
</value>
</property>
<property>
   <name>dfs.namenode.edits.dir</name>
   <value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits
</value>
</property>
其中dfs.namenode.name.dir下的值为FSimage文件当中的文件信息路径,
        dfs.namenode.edits.dir下的值为editlog数据存放路径


FSimage文件当中的文件信息查看
提示: 需要使用命令 hdfs oiv

`切换到fsimage目录下`
cd  /export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas/current
`把目录下的fsimage文件转换成xml格式的文件输出`
hdfs oiv -i fsimage_0000000000000000864 -p XML -o hello.xml
在这里插入图片描述

1.不转换成xml文件直接打开

文件和环境一起出现乱码现象,当前会话无法使用,需要再重新克隆一个会话!

在这里插入图片描述

2.转换成xml文件打开、

在这里插入图片描述

3.把转换后的xml文件上传到windows上打开

我们利用sz命令把linux上的文件上传到windows上,然后用浏览器打开。可以发现经过浏览器处理之后,xml整体结构看得更加清楚。

在这里插入图片描述

edits当中的文件信息查看
提示: 需要使用命令 hdfs oev

`切换到edits保存的目录下`
cd  /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits/current
`把目录下的edits文件转换成xml格式的文件输出`
hdfs oev -i  edits_0000000000000000865-0000000000000000866 -o myedit.xml -p XML
查看文件的方式与FSimage相似,这里不作过多介绍!


总结
1.Fsimage 记录HDFS文件系统的镜像或快照(周期性记录)(此文件相对较小)
2.Edits 记录客户端对进行的所有的增、删、改、追加等操作(没有使用Secondary NameNode之前,不是周期性生成)(此文件相对较大)
3.Fsimage Edits作用:用于还原集群上次关闭时的状态。还原时将两个文件加载到内存,检查、合并最终生成 一个新的Fsimage 。原本的Edits失效。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值