关键字:hdfs元数据、fsimage、edits
上一篇文章《查看HDFS的元数据文件fsimage和编辑日志edits(1)》中介绍了HDFS文件系统中fsimage和eidts文件的作用以及查看fsimage的方法。
本文接着介绍查看edits文件的方法。
HDFS查看edits
命令hdfs oev用于查看edits文件。
该命令需要以下参数:
必须参数:
-i,–inputFile <arg> 输入edits文件,如果是xml后缀,表示XML格式,其他表示二进制。
-o,–outputFile <arg> 输出文件,如果存在,则会覆盖。
可选参数:
-p,–processor <arg> 指定转换类型: binary (二进制格式), xml (默认,XML格式),stats (打印edits文件的静态统计信息)
-h,–help 显示帮助信息
-f,–fix-txids 重置输入edits文件中的transaction IDs
-r,–recover 使用recovery模式,跳过eidts中的错误记录。
-v,–verbose 打印处理时候的输出。
例子1:
hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.xml
未指定-p选项,默认转换成xml格式,查看edits.xml文件:
在输出的xml文件中,每个RECORD记录了一次操作,比如图中的OP_ADD代表添加文件操作,OP_MKDIR代表创建目录操作。里面还记录了文件路径(PATH),修改时间(MTIME)、添加时间(ATIME)、客户端名称(CLIENT_NAME)、客户端地址(CLIENT_MACHINE)、权限(PERMISSION_STATUS)等非常有用的信息。
当edits文件破损进而导致HDFS文件系统出现问题时,可以通过将原有的binary文件转换为xml文件,并手动编辑xml文件然后转回binary文件来实现。
例子2:
hdfs oev -i /data1/hadoop/dfs/name/current/edits_0000000000019382469-0000000000019383915 -o /home/hadoop/edits.txt -p stats
指定-p stats选项,用于输出该edits文件中的统计信息:
查看edits.txt,打印出该edits文件中每种操作的数量。
如果觉得本博客对您有帮助,请 赞助作者 。