10大HBase常见运维工具整理小结

摘要:HBase自带许多运维工具,为用户提供管理、分析、修复和调试功能。本文将列举一些常用HBase工具,开发人员和运维人员可以参考本文内容,利用这些工具对HBase进行日常管理和运维。

HBase组件介绍

HBase作为当前比较热门和广泛使用的NoSQL数据库,由于本身设计架构和流程上比较复杂,对大数据经验较少的运维人员门槛较高,本文对当前HBase上已有的工具做一些介绍以及总结。

10大HBase常见运维工具整理小结

写在前面的说明:

1) 由于HBase不同版本间的差异性较大(如HBase2.x上移走了hbck工具),本文使用的所有命令行运行的环境为MRS_1.9.3,对应的HBase版本为1.3.1,部分命令在HBase2上不支持(有时间的话会对HBase2做单独的介绍)。

2) 本文所涉及的HBase工具均为开源自带工具,不涉及厂商自研的优化和运维工具。

Canary工具

HBase Canary是检测HBase集群当前状态的工具,用简单的查询来检查HBASE上的region是否可用(可读)。它主要分为两种模式

1) region模式(默认),对每个region下每个CF随机查询一条数据,打印是否成功以及查询时延。

#对t1和tsdb-uid表进行检查
  hbase org.apache.hadoop.hbase.tool.Canary t1 tsdb-uid
  #注意:不指定表时扫所有region

2) regionserver模式,对每个regionserver上随机选一个表进行查询,打印是否成功以及查询时延。

#对一个regionserver进行检查
  hbase org.apache.hadoop.hbase.tool.Canary -regionserver node-ana-coreQZLQ0002.1432edca-3d6f-4e17-ad52-098f2adde2e6.com
  #注意:不指定regionserver时扫所有regionserver

Canary还可以指定一些简单的参数,可以参考如下

10大HBase常见运维工具整理小结

总结:

  • 对集群影响:2星(只是简单的读操作,region个数极多的时候会占用少部分请求吞吐)
  • 实用性:2星

HFile工具

HBase HFile查看工具,主要用来检查当前某个具体的HFile的内容/元数据。当业务上发现某个region无法读取,在regionserver上由于文件问题无法打开region或者读取某个文件出现异常时,可用此工具单独来检查HFile是否有问题

#查看t1表下的其中一个HFile的详情,打印KV
hbase org.apache.hadoop.hbase.io.hfile.HFile -v -m -p -f /hbase/data/default/t1/4dfafe12b749999fdc1e3325f22794d0/cf1/06e102be436c449693734b222b9e9aab

使用参数如下:

10大HBase常见运维工具整理小结

总结:

  • 对集群影响:1星(此工具不走HBase通道,只是单纯的读取文件,不影响集群)
  • 实用性:4星(可精确判断具体的HFile内容是否有问题)

RowCounter和CellCounter工具

RowCounter 是用MapReduce任务来计算表行数的一个统计工具。而和 RowCounter类似,但会收集和表相关的更细节的统计数据,包括:表的行数、列族数、qualifier数以及对应出现的次数等。两个工具都可以指定row的起止位置和timestamp来进行范围查询

# RowCounter扫描t1
hbase org.apache.hadoop.hbase.mapreduce.RowCounter t1
#用CellCounter扫描t1表并将结果写入HDFS的/tmp/t1.cell目录
hbase org.apache.hadoop.hbase.mapreduce.CellCounter t1 /tmp/t1.cell

使用参数如下:

10大HBase常见运维工具整理小结

10大HBase常见运维工具整理小结

扫一扫手机访问