脱机Edits Viewer是用于解析Edits日志文件的工具。当前的处理器对于在不同格式之间进行转换最为有用,其中包括XML,该XML易于阅读并且比本地二进制格式更易于编辑。
该工具可以解析-18(大致为Hadoop 0.19)及更高版本的编辑格式。该工具仅对文件运行,不需要运行Hadoop集群。
支持的输入格式:
注意:不允许XML / Binary格式输入文件由相同类型的处理器处理。
脱机编辑查看器提供了几个输出处理器(除非另有说明,否则可以将处理器的输出转换回原始编辑文件):
XML处理器可以创建一个包含编辑日志信息的XML文件。用户可以通过-i和-o命令行指定输入和输出文件。
bash $ bin / hdfs oev -p xml -i edits -o edits.xml
XML处理器是“离线编辑查看器”中的默认处理器,用户也可以使用以下命令:
bash $ bin / hdfs oev -i编辑-o edits.xml
这将导致以下输出:
<?xml版本=“ 1.0”编码=“ UTF-8”?> <编辑> <EDITS_VERSION> -64 </ EDITS_VERSION> <记录> <OPCODE> OP_START_LOG_SEGMENT </ OPCODE> <数据> <TXID> 1 </ TXID> </ DATA> </ RECORD> <记录> <OPCODE> OP_UPDATE_MASTER_KEY </ OPCODE> <数据> <TXID> 2 </ TXID> <DELEGATION_KEY> <KEY_ID> 1 </ KEY_ID> <EXPIRY_DATE> 1487921580728 </ EXPIRY_DATE> <KEY> 2e127ca41c7de215 </ KEY> </ DELEGATION_KEY> </ DATA> </ RECORD> <记录> ...剩余的输出被省略...
二进制处理器与XML处理器相反。用户可以通过-i和-o命令行指定输入XML文件和输出文件。
bash $ bin / hdfs oev -p二进制-i edits.xml -o编辑
这将从XML文件重建编辑日志文件。
统计处理器用于汇总编辑日志文件中包含的操作码计数。用户可以通过-p选项指定此处理器。
bash $ bin / hdfs oev -p统计-i编辑-o edits.stats
该处理器的输出结果应类似于以下输出:
版本:-64 OP_ADD(0):8 OP_RENAME_OLD(1):1 OP_DELETE(2):1 OP_MKDIR(3):1 OP_SET_REPLICATION(4):1 OP_DATANODE_ADD(5):0 OP_DATANODE_REMOVE(6):0 OP_SET_PERMISSIONS(7):1 OP_SET_OWNER(8):1 OP_CLOSE(9):9 OP_SET_GENSTAMP_V1(10):0 ...省略了一些输出... OP_APPEND(47):1 OP_SET_QUOTA_BY_STORAGETYPE(48):1 OP_ADD_ERASURE_CODING_POLICY(49):0 OP_ENABLE_ERASURE_CODING_POLICY(50):1 OP_DISABLE_ERASURE_CODING_POLICY(51):0 OP_REMOVE_ERASURE_CODING_POLICY(52):0 OP_INVALID(-1):0
输出格式设置为以冒号分隔的两列表:OpCode和OpCodeCount。每个操作码对应于NameNode中的特定操作。
旗 | 描述 |
---|---|
[ -i ; --inputFile ] 输入文件 | 指定要处理的输入编辑日志文件。Xml(不区分大小写)扩展名表示XML格式,否则假定为二进制格式。需要。 |
[ -o ; --outputFile ] 输出文件 | 如果指定的输出处理器生成一个文件名,则指定输出文件名。如果指定的文件已经存在,它将被静默覆盖。需要。 |
[ -p ; --processor ] 处理器 | 指定要应用于图像文件的图像处理器。当前有效的选项是binary,xml(默认)和stats。 |
[ -v ; --verbose ] | 将处理器的输入和输出文件名以及管道输出打印到控制台以及指定文件。在非常大的文件上,这可能会使处理时间增加一个数量级。 |
[ -f ; --fix-txids ] | 在输入中重新编号事务ID,以便没有空格或无效的事务ID。 |
[ -r ; --recover ] | 读取二进制编辑日志时,请使用恢复模式。这将使您有机会跳过编辑日志的损坏部分。 |
[ -h ; --help ] | 显示工具用法和帮助信息,然后退出。 |