HDFS离线编辑日志浏览器(Offline Edits Viewer)

一、离线编辑日志浏览器(Offline Edits Viewer)

1.概述

离线编辑日志浏览器(Offline Edit Viewer)是用于解析编辑日志文件(Edits Log)的工具。处理器在对于不同格式之间的转换非常有用,包括将原始的二进制文件转换成更容易阅读和编辑的XML格式。
该工具可以解析(Hadoop 0.19)及更高版本的EditsLog文件格式。该工具仅在文件上运行,不需要运行Hadoop集群。
支持以下输入格式
·二进制(binary):Hadoop内部使用产生的二进制格式。
·XML:由XML处理器产生的XMl格式,适用于文件名具有.xm扩展名的文件。

支持的输出格式(输出的格式在没有特殊要求下,可以转换成原始的Edits):
·二进制(binary):Hadoop内部使用产生的二进制格式。
·XML:xml格式
·stats: 打印统计信息,这个格式不能重新转换回Edits文件。

2.用法

·xml处理器
xml处理器可以创建一个包含edits日志文件信息的xml文件。用户可以通过-i和-o指定输入文件和输出文件。

hdfs oev -p xml -i edits -o edits.xml
hdfs oev -p xml -i edits_0000000000000089385-0000000000000089412 -o /opt/test1.xml

在这里插入图片描述
生成的test1.xml文件
在这里插入图片描述
原来的edits文件,二进制,看不懂。
在这里插入图片描述
xml处理器是Oddline Edits Viewer 的默认处理器,可以省略 -i

hdfs oev -i edits -o edits.xml

·二进制处理器
二进制处理器与XML处理器相反,二进制处理器,用户通过-i和-o来指定输入的xml文件和输出的二进制文件。

hdfs oev -p binary -i edits.xml -o edits
hdfs oev -p binary -i test1.xml -o edittest1

在这里插入图片描述
在这里插入图片描述
重新将xml文件转换回二进制文件。
·Stats Processor
stats处理器是用于聚合edits日志文件中包含的操作码的技术。用胡可以通过-p选项来指定处理器。

hdfs oev -p stats -i edits -o edits.stats
hdfs oev -p stats -i edittest1 -o statstest1

在这里插入图片描述

VERSION                             : -64
OP_ADD                         (  0): 2
OP_RENAME_OLD                  (  1): 0
OP_DELETE                      (  2): 2
OP_MKDIR                       (  3): 6
OP_SET_REPLICATION             (  4): 0
OP_DATANODE_ADD                (  5): 0
OP_DATANODE_REMOVE             (  6): 0
OP_SET_PERMISSIONS             (  7): 0
OP_SET_OWNER                   (  8): 0
OP_CLOSE                       (  9): 2
OP_SET_GENSTAMP_V1             ( 10): 0
OP_SET_NS_QUOTA                ( 11): 0
OP_CLEAR_NS_QUOTA              ( 12): 0
OP_TIMES                       ( 13): 0
OP_SET_QUOTA                   ( 14): 0
OP_RENAME                      ( 15): 2
OP_CONCAT_DELETE               ( 16): 0
OP_SYMLINK                     ( 17): 0
OP_GET_DELEGATION_TOKEN        ( 18): 0
OP_RENEW_DELEGATION_TOKEN      ( 19): 0
OP_CANCEL_DELEGATION_TOKEN     ( 20): 0
OP_UPDATE_MASTER_KEY           ( 21): 0
OP_REASSIGN_LEASE              ( 22): 0
OP_END_LOG_SEGMENT             ( 23): 1
OP_START_LOG_SEGMENT           ( 24): 1
OP_UPDATE_BLOCKS               ( 25): 0
OP_CREATE_SNAPSHOT             ( 26): 0
OP_DELETE_SNAPSHOT             ( 27): 0
OP_RENAME_SNAPSHOT             ( 28): 0
OP_ALLOW_SNAPSHOT              ( 29): 0
OP_DISALLOW_SNAPSHOT           ( 30): 0
OP_SET_GENSTAMP_V2             ( 31): 2
OP_ALLOCATE_BLOCK_ID           ( 32): 2
OP_ADD_BLOCK                   ( 33): 2
OP_ADD_CACHE_DIRECTIVE         ( 34): 0
OP_REMOVE_CACHE_DIRECTIVE      ( 35): 0
OP_ADD_CACHE_POOL              ( 36): 0
OP_MODIFY_CACHE_POOL           ( 37): 0
OP_REMOVE_CACHE_POOL           ( 38): 0
OP_MODIFY_CACHE_DIRECTIVE      ( 39): 0
OP_SET_ACL                     ( 40): 6
OP_ROLLING_UPGRADE_START       ( 41): 0
OP_ROLLING_UPGRADE_FINALIZE    ( 42): 0
OP_SET_XATTR                   ( 43): 0
OP_REMOVE_XATTR                ( 44): 0
OP_SET_STORAGE_POLICY          ( 45): 0
OP_TRUNCATE                    ( 46): 0
OP_APPEND                      ( 47): 0
OP_SET_QUOTA_BY_STORAGETYPE    ( 48): 0
OP_ADD_ERASURE_CODING_POLICY   ( 49): 0
OP_ENABLE_ERASURE_CODING_POLIC ( 50): 0
OP_DISABLE_ERASURE_CODING_POLI ( 51): 0
OP_REMOVE_ERASURE_CODING_POLIC ( 52): 0
OP_INVALID                     ( -1): 0

输出格式是冒号分隔的两列:opCode和OpCodeCount。每个OpCode代表应用于NameNode上的特定操作。

二、Offline Image Viewer

Offline Image Viewer是一个能转换fsimage文件的内容,变成用户方便阅读的格式,并且提供只读的WebHDFS API来允许线下分析及检测Hadoop集群的命名空间。可以相对快速的处理非常大的image文件。可以处理Hadoop versions 2.4版本以及更高版本。如果想处理低版本的格式,需要使用Hadoop 2.3 的Offline Image Viewer 或者使用 oiv_legacy命令。如果此工具不能处理一个image文件,它将会干净的退出。Offline Image Viewer不需要运行Hadoop集群,它的操作完全脱机。
Offline Image Viewer 提供了下面的输出:
·Web是默认的输出处理器,这个处理器启动一个HTTP服务来公开只读的WebHDFS API 。用户可以通过使用HTTP REST API来进行交互式的访问命名空间。
·XML创建一个包含所有fsimage信息的XML文档。该处理器的输出可以通过XML工具进行自动处理和分析。由于XML语法冗长,用此输出,将会生成最大的输出量。
·FileDistribution是一个分析命名空间image文件大小的工具。运行工具之前,需要定义一串整型数字[0,maxSize],指maxSize和步长。这一串的整型数字被划分为一些小段:
[0, s[1] ,…, s[n-1], maxSize ],处理器会为每个小段[s[i-1],s[i]]计算系统中有多少文件对应到这段,超过maxSize的文件将会落到最后一段。默认情况下,输出文件时一个以tab分隔的2列表:Size和NumFiles,Size表示这一段的开始,numFiles是文件大小刚好落在当前段的文件数目。通过指定-format 选项,输出文件将会是用户可读的格式,而不是在Size列中的字节格式。另外Size将会转变成SizeRange列。
·
使用
Web Processor
Web Processor 启动一个HTTP服务器来提供只读的WebHDFS API 。用户可以通过 -addr选项来指定默认的监听端口(默认是localhost:5978)
开启

hdfs oiv -i fsimage

在这里插入图片描述
当前为sercure mode,不支持开启webImageViewer.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值