天天看点

HBase识别和移动损坏的HFile (hfile corrupted)(-checkCorruptHFiles)

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.