HBase-识别和移动损坏的HFile
识别损坏的文件:
HBase提供了一个实用程序来检查HBase中是否有损坏的文件。
hbase hbck -checkCorruptHFiles
上面的命令将检查整个HBase表中是否有损坏的文件。
要检查特定表中的损坏,请使用以下命令:
hbase hbck -checkCorruptHFiles <表名称>
如果任何文件已损坏,那么输出日志中将显示以下内容:
Checked 17 hfile for corruption
HFiles corrupted: 2
HFiles moved while checking: 0
Summary: CORRUPTED
日志还包含有关哪些文件已损坏的详细信息。
检查文件是否已损坏的另一种方法是使用以下命令:
hbase org.apache.hadoop.hbase.io.hfile.HFile -f <路径到hfile>
对损坏的文件进行旁注:
hbase hbck -sidelineCorruptHFiles
命令将检查整个HBase表。
要应用于特定表,请使用以下命令:
hbase hbck -sidelineCorruptHFiles <表名称>
您将在命令输出日志中看到类似的信息:
Checked 17 hfile for corruption
HFiles corrupted: 2
HFiles successfully quarantined: 2
maprfs:/hbase/corrupt/hcrt/1090c602c005a4ca76fda4ec7bd2865c/f/97fcf7fee25c469a81e7a0aa567a4627
maprfs:/hbase/corrupt/hcrt/1090c602c005a4ca76fda4ec7bd2865c/f/97fcf7fee25c469a81e7a0aa567a4628
HFiles failed quarantine: 0
HFiles moved while checking: 0
Summary: CORRUPTED => OK
The corrupted files are moved to '/hbase/corrupt' folder.