HDFS之Offline Viewer

文章目录

  • Offline Image Viewer
    • FileDistribution
    • Delimited
  • Offline Edits Viewer

Offline Image Viewer

离线镜像分析工具,可以将fsimage的内容解析成可读的格式。

FileDistribution

常用于查看hdfs文件大小分布,查看小文件的数量。

hdfs oiv -p FileDistribution -maxSize maxSize -step size -format -i fsimage -o output

-p|--processor processor 指定镜像处理器,包含Web(默认)、XML、Delimited、DetectCorruption、FileDistribution、ReverseXML
-i|--inputFile 指定输入的镜像文件
-o|--outputFile 指定输出的文件
-maxSize size    指定要分析的文件大小的范围[0,maxSize](以字节为单位)
-step size   指定分布的粒度(默认为2MB),以字节为单位
输出示例
Size Range      NumFiles
[0 B, 0 B]      204
(0 B, 1 MB]     27782
(1 MB, 2 MB]    221
(2 MB, 3 MB]    131
(3 MB, 4 MB]    87
(4 MB, 5 MB]    39
(5 MB, 6 MB]    32
(6 MB, 7 MB]    27
(7 MB, 8 MB]    15
(8 MB, 9 MB]    33
(9 MB, 10 MB]   13
(10 MB, 11 MB]  55
......

Delimited

可以查看文件大小及其他信息

hdfs oiv -p Delimited -delimiter '|' -i fsimage -o output

# 可以直接查看文件最大的
hdfs oiv -p Delimited -delimiter '|' -i  fsimage_0000000000008048996|awk -F '\|' '{print $1" "$7/1024/1024/1024}'|sort -nr -k 2|head
Path|Replication|ModificationTime|AccessTime|PreferredBlockSize|BlocksCount|FileSize|NSQUOTA|DSQUOTA|Permission|UserName|GroupName
/|0|2023-12-18 10:30|1970-01-01 08:00|0|0|0|9223372036854775807|-1|drwxr-xr-x|hdfs|hdfs

Offline Edits Viewer

离线日志分析工具,可以将edits文件的原生的二进制与XML格式之前互相转换。
主要作用在于可以查看某个edit文件中的所有操作。

hdfs oev -p xml -i edits -o edits.xml

[-p ; --processor] 指定处理器,包含binary、xml (default) and stats
stats处理器用于将edits文件中的操作码聚合统计
[-i ; --inputFile] 指定输入的edits文件
[-o ; --outputFile] 指定输出的文件名
[-r ; --recover] 如果读取的edit日志有损坏,使用恢复模式可以跳过损坏的edit文件
转换之后,可以看到每次事务的操作信息
  <RECORD>
    <OPCODE>OP_MKDIR</OPCODE>
    <DATA>
      <TXID>8060659</TXID>
      <LENGTH>0</LENGTH>
      <INODEID>1402753</INODEID>
      <PATH>/tmp/xxxxx</PATH>
      <TIMESTAMP>1703053805692</TIMESTAMP>
      <PERMISSION_STATUS>
        <USERNAME>hive</USERNAME>
        <GROUPNAME>hdfs</GROUPNAME>
        <MODE>448</MODE>
      </PERMISSION_STATUS>
    </DATA>
  </RECORD>

你可能感兴趣的:(HDFS,hdfs,hadoop)