当HBase 集群down 了重启后,可能会出现有些region 没有上线成功,导致MapReduce 任务在处理时找不到该region。针对这样情况,可以使用hbck 工具进行检测和恢复。
检测
在HBase Gateway 的机器上运行
$ hbase hbck
修复
如果发现存在不一致的情况,可进行修复。
设置HBase 的环境变量,将Heap Size 设为2G,否则执行修复时会因为OOM 导致失败。
export HBASE_OPTS="-Xmx2147483648 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -Djava.net.preferIPv4
$ source /etc/hbase/conf.cloudera.hbase/hbase-env.sh
$ HADOOP_USER_NAME=hbase hbase hbck -fixMeta -fixAssignments
修复完后,可以再次执行hbck 进行检测。其他HBase 相关的tool 可见官方文档。
网友评论