本文固定链接:https://www.askmac.cn/archives/offline-edits-viewer.html
本文是官方文档的翻译,原文地址是:
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsEditsViewer.html
1概述
离线Edits 视图是一个解析Edits日志文件的一个工具。当前的处理器可以很好的在不同格式之间进行转换,包括比二进制格式更易度的XML
这个工具可以解析-18(大致相当于hadoop0.19)和之后的edits格式。这个工具只在文件上操作,不需要Hadoop集群运行。
输入格式支持:
1.二进制:一般hadoop内部使用的二进制格式(www.askmac.cn)
2.XML:由XML处理器生成的XML格式,被后缀为.xml的文件所使用
离线edit viewer 提供了一系列输出处理器(除非有特别的说明,处理器的输出可以转换回原来的edit文件):
1.二进制
2.xml
3.stats:打印出统计数据,这不能被转换回edits文件
2用法
bin/hdfs oev -i edits -o edits.xml
选项 | 描述 |
[-i ; –inputFile] input file | 指定处理的输入edits日志文件。xml(不分区大小写)是使用xml格式,否则会使用二进制格式。 |
[-o ; –outputFile] output file | 指定输出文件生成的文件名,如果这个文件已经存储,会默认覆盖。 |
[-p ; –processor] processor | 指定应用于图像文件的图像处理器。目前有效的选项是二进制,XML(默认)和stats。 |
[-v ; –verbose] | 打印输出和输入的文件名,并管将处理程序的输出同时管道到控制台和指定的文件。如果文件很大, 这可能会增加处理的时间。 |
[-h ; –help] | 显示工具的用法和帮助信息 |
3.案例学习:hadoop 集群恢复
在这个场景中,hadoop出现了一些问题,edits文件已经损坏,应该保存至少保证edits的一部分文件是正确的。这可以通过将二进制的edits,手动编辑它,然后将其转换回二进制。通常的问题是,edits文件丢失关闭记录(opCode -1的记录)。其应该是通过工具确认的,XML格式应该正确的关闭(www.askmac.cn)。
如果在XML文件中没有关闭记录,你可以在上一次正常记录后增加一个。在任何opcode -1之后的记录都是被忽略的。
一个关闭记录(opCode -1)的例子:
<RECORD><OPCODE>-1</OPCODE><DATA></DATA>
</RECORD> |
Comment