基于开源工具的HBase 监控与问题分析
2021-01-13许经伟李公平王文学
许经伟,李公平,王文学,郝 睿,李 夏
(中国电信股份有限公司安徽分公司,安徽 合肥 230000)
0 引言
HBase 作为一种可扩展的NOSQL 数据库,能够部署到上千台机器上,存储数十亿行,在PB 级别数据量上提供根据Rowkey 的低延迟接口查询[1]。HBase 自身已经实现了一定程度的容错性高可用性。但要想稳定的使用HBase 提供实时接口查询,需要建立对HBase 应用的一整套监控和分析方法。这需要建立对整个接口查询链路上各种组件的监控,这些组件包括了调用HBase 服务的Tomcat、WebLogic 等常见Web 容器,以及HBase和HDFS 实例。并且还要引入一些开源工具对Web 容器实例、HBase 实例、HDFS 实例进行性能分析和故障分析。客户端访问HBase 应用的整个链路涉及到若干个部分,包括HBase 客户端、HBase 服务、HDFS 服务和操作系统。分析HBase 应用需要监控以上服务或基础设施的关键指标。
1 服务端监控
1.1 监控指标
服务端监控指标包括Kerberos 服务、HBase 服务、HDFS 服务和服务端主机监控指标。
Kerberos 认证服务监控指标包括KDC 的服务状态、KDC 的认证时长。
HBase 服务监控指标包括HBase Master 监控、Region Server 监控、Table 监控、Region 监控几部分。
(1)HBase Master 监控指标包括Region Assign 指标、Server 指标。Region Assign 监控指标包括RIT 时长、RIT 数量、Assign 次数、批量Assign 次数;Server指标包括平均负载、Active RegionServer 数量、Dead RegionServer 数量、总请求数。
(2)RegionServer 监控指标包括JVM 指标、线程指标、Server 指标、IPC 指标。JVM 指标包括堆内存使用率、GC 时长、GC 次数、阻塞线程数、可运行线程数、等待线程数、定时等待线程数;线程指标包括当前线程数量、线程数量峰值;Server 指标包括Region 数量、Store 数量、读取请求数、写入请求数、分裂队列长度、刷新队列长度、压缩队列长度、hedge 读取次数;IPC 指标包括队列长度……
