HDFS-NameNode工作机制(二)镜像文件和编辑日志文件

Posted on 2020-04-16 10:26  MissRong  阅读(208)  评论(0)    收藏  举报

NameNode工作机制(二)镜像文件和编辑日志文件

一、概念

namenode被格式化之后,将在/opt/module/hadoop-2.8.4/data/dfs/name/current目录中产生如下文件

注:只能在NameNode所在的节点才能找到此文件

可以执行find . -name edits* 来查找文件

edits_0000000000000000000

fsimage_0000000000000000000.md5

seen_txid

VERSION

(1)Fsimage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含HDFS文件系统的所有目录和文件idnode的序列化信息。 

(2)Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到edits文件中。 

(3)seen_txid文件保存的是一个数字,就是最后一个edits_的数字

(4)每次Namenode启动的时候都会将fsimage文件读入内存,并从00001开始到seen_txid中记录的数字依次执行每个edits里面的更新操作,保证内存中的元数据信息是最新的、同步的,可以看成Namenode启动的时候就将fsimageedits文件进行了合并

二、oiv查看fsimage文件

cd /opt/module/hadoop-2.8.4/data/dfs/name/current/目录下:

发现cat fsimage_0000000000000000157之后看不懂于是将其转换成xml的形式。

这里如果要安装Xftp-6,注意:不要将Xftp和Xshell放在一个文件夹中,就是将他俩分开放置即可

如果Xftp安装不了,用WinSCP也可。



(1)查看oiv和oev命令

[itstar@bigdata111 current]$ hdfs

oiv                  apply the offline fsimage viewer to an fsimage

oev                  apply the offline edits viewer to an edits file

(2)基本语法

hdfs oiv -p 文件类型 -i镜像文件 -o 转换后文件输出路径

(3)案例实操

[itstar@bigdata111 current]$ pwd

/opt/module/hadoop-2.8.4/data/dfs/name/current

这里在Xshell中输入命令:hdfs oiv -p XML -i fsimage_0000000000000000157 -o /opt/fsimage.xml

[itstar@bigdata111 current]$ cat /opt/module/hadoop-2.8.4/fsimage.xml

发现看不懂~

将显示的xml文件内容拷贝到IDEA中创建的xml文件中,并格式化。

点开Xftp/WinSCP--》将此文件拖拽到左侧的Windows的指定目录下--》在Windows上找到该文件--》在拖拽到Idea的test/java/Day01中,这样点开就能看懂了。

 三、oev查看edits文件

(1)基本语法

hdfs oev -p +文件类型 -i +编辑日志 -o +转换后文件输出的路径 -p stats(转换成认识的二进制格式)

-p processor <arg>   指定转换类型: binary (二进制格式), xml (默认,XML格式),stats

-i inputFile <arg>     输入edits文件,如果是xml后缀,表示XML格式,其他表示二进制

-o outputFile <arg> 输出文件,如果存在,则会覆盖

(2)案例实操

 

这里在Xshell中输入命令:hdfs oev -p XML -i edits_0000000000000000164-0000000000000000165 -o /opt/edits.xml -p stats

 

这样直接再输入:cat /opt/edits.xml即可看懂了。

每个RECORD记录了一次操作,比如图中的

OP_ADD代表添加文件操作、OP_MKDIR代表创建目录操作。里面还记录了

文件路径PATH

修改时间(MTIME

添加时间(ATIME

客户端名称(CLIENT_NAME

客户端地址(CLIENT_MACHINE

权限(PERMISSION_STATUS)等非常有用的信息

将显示的xml文件内容拷贝到IDEA中创建的xml文件中,并格式化。

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3