关键字:hbase、修复、repair、hbck
时间:2019年1月

为什么需要检查和修复

1、当hbase节点出现宕机、或磁盘损坏的情况下,可能会造成数据错误,此时需要进行检查;
2、修复的作用主要是让hbase处于可用状态,出现错误不修复通常的现象是数据无法写入或写入缓慢等

检查命令

hbase hbck

修复参数

1. 单种错误修复
-fixTableOrphans
-fixHdfsOverlaps
-fixHdfsOrphans
-fixHdfsHoles
-fixMeta
-fixAssignments
-fixVersionFile
2. 综合修复
-repair,等价与多个单种错误修复参数同时执行
-repairHoles,等价与多个单种错误修复参数同时执行

修复举例

a. 只执行检查

root@debian:~# hbase hbck

b. 不管检查错误项,修复所有错误

root@debian:~# hbase hbck -repair

c. 修复具体某种错误

root@debian:~# hbase hbck -fixMeta

d. 几种错误同时修复

root@debian:~# hbase hbck -fixMeta -fixHdfsOrphans -fixHdfsOrphans

注意

1、通常执行一次修复无法修复所有问题,一次修复执行后,应再执行检查,确定是否所有问题都修复完成;
2、多个参数一次执行,参数的顺序不同,修复结果也许会不一样;(未详细验证过)
3、多个参数一次执行和多个参数分多次执行,修复结果不一样;
4、同一个参数反复执行应该没有太大意义;
5、修复一个错误后,再次检查可能会有新的错误出现,注意仔细阅读检查结果,确定再次执行修复使用哪个参数;
6、检查出现错误,表示数据本身存在问题,修复主要能让hbase处于可用状态,通常不能修复数据本身。

关键字:hbase、单机版、安装、开发环境
时间:2017年8月

环境

Debian 8.x

步骤

root@debian:~# apt-get install openjdk-8-jdk
root@debian:~# wget http://apache.fayea.com/hbase/1.2.6/hbase-1.2.6-bin.tar.gz
root@debian:~# tar -zxvf hbase-1.2.6-bin.tar.gz
...
root@debian:~# cd hbase-1.2.6
root@debian:~/hbase-1.2.6# vim conf/hbase-env.sh
...
# export JAVA_HOME=/usr/java/jdk1.6.0/
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
...
root@debian:~/hbase-1.2.6# bin/start-hbase.sh
...

使用

root@debian:~/hbase-1.2.6# bin/hbase shell
hbase(main):001:0>