Apache HBase是一个分布式、可伸缩的数据存储。当您需要随机、实时地读取/写入访问大数据时,HBase是您开源的和非关系的数据库。Apache HBase在Hadoop和HDFS之上提供了类似 Google的Bigtable功能。
Application Manager致力于帮助Apache HBase管理员监控集群的区域分布。让我们来看看通过监控Apache HBase您能收集哪些性能指标,以及如何确保您的HBase数据库在Application Manager中正常运行:
支持的版本:HBase 版本 1.x
监测Apache HBase的先决条件:
JMX MBean用于收集HBase指标。要启用JMX,请打开 HBase/conf/HBase-env.sh 并取消注释/添加以下JVM参数。
export HBase_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
export HBase_MASTER_OPTS="$HBase_MASTER_OPTS $HBase_JMX_BASE -Dcom.sun.management.jmxremote.port=10101"
export HBase_REGIONSERVER_OPTS="$HBase_REGIONSERVER_OPTS $HBase_JMX_BASE -Dcom.sun.management.jmxremote.port=10102"
使用REST API添加新的Apache HBase监视器:点击此处
注意:
如果您在启用JMX之后无法添加监视器,请尝试提供以下参数:
-Djava.rmi.server.hostname=[YOUR_IP]
点击监视器 选项卡,之后到监视器类别视图。点击数据库 表下的HBase。显示的是分发到三个选项卡的HBase批量配置视图:
点击监视器名称,查看以下选项卡下列出的所有服务器详细信息:
参数 | 描述 |
---|---|
HBase MASTER概述 | |
Average Load | 每个区域服务器服务的区域平均数量。 |
Dead Region Servers Count | 死区服务器的数量。 |
Region Servers Count | 在线区域服务器的数量。 |
Cluster Requests / Min | 每分钟从所有区域服务器到集群的请求总数。 |
HBase JVM 指标 | |
Total Heap Memory | 计算总堆内存,以MB为单位。 |
Used Heap Memory | 计算所使用的堆内存,以MB为单位。 |
Committed Heap Memory | 计算提交的堆内存,以MB为单位。 |
Total Garbage Collections | JVM垃圾回收的总数。 |
内存详细信息 | |
Free Physical Memory Size | 空闲物理内存的数量,以兆字节为单位。 |
Free Swap Space Size | 空闲交换空间的总量,以兆字节为单位。 |
Total Physical Memory Size | 物理内存总量,以兆字节为单位。 |
Total Swap Space Size | 交换空间的总量,以兆字节为单位。 |
Committed Virtual Memory Size | 保证运行进程可用的虚拟内存的数量,以兆字节为单位。 |
线程详细信息 | |
Timed Waiting Threads Count | 等待另一个线程执行,指定的最多等待时间的线程数。 |
Waiting Threads Count | 等待另一个线程执行特定操作的线程数。 |
Blocked Threads Count | 等待监视器锁阻塞线程的数量。 |
Runnable Threads Count | 在JVM中执行的线程数 |
参数 | 描述 |
---|---|
IPC 详细信息 | |
Number of Open Connections | 在RPC层打开连接的数量。 |
Total Call Time | 总调用时间,包括排队和处理进程时间。 |
Number of Active RPC Handlers | 主动服务请求RPC处理程序的数量。 |
Number of Calls In Replication | 从复制收到的当前队列操作的数量。 |
传输的数据 | |
Sent Data | 调用队列中发送数据的字节数。 |
Received Data | 调用队列中接收数据的字节数。 |
例外情况 | |
Out of Order Scanner Exception | |
Unknown Scanner Exception | |
Region Too Busy Exception | 区域繁忙异常。 |
参数 | 描述 |
---|---|
传输的区域 | |
Regions in Transition | 统计在传输中的区域数目。 |
Regions in Transition over Threshold | 计算超过属性rit.metrics.threshold.time定义阈值的过渡区域数量。 |
区域服务器 | |
Name | 区域服务器的名称。 |
Start Time | HBase master的开始时间。 |
参数 | 描述 |
---|---|
存储文件 | |
Store File Count | 区域服务器中存储文件的数量。 |
Store File Size | 区域服务器中存储文件(数据文件)的总大小。 |
MEMSTORE | |
Memstore Size | 区域服务器的Memstore内存总大小。 |
压缩详细信息 | |
Compactions Completed Count | 从节点启动以来完成的压缩总数。 |
Num Bytes Compacted Count | 在所有实体的hregions中压缩的字节数。 |
Num Files Compacted Count | 在所有实体的hregions中压缩的文件数量。 |
HLog 计算 | |
Delete Count | 区域服务器中Delet请求的总数。 |
Increment Count | 区域服务器中Increment请求的总数。 |
Append Count | 区域服务器中Append请求的总数。 |
Mutate Count | 区域服务器中的Mutate请求总数。 |
操作延迟 - SCAN NEXT | |
Scan Next Num Operations | 通过所有实体的hregions中的Scan Next操作数量。 |
Scan Next Min | 区域服务器中扫描操作的最小延迟。 |
Scan Next Max | 区域服务器中扫描操作的最大延迟。 |
Scan Next Mean | 区域服务器中扫描操作的平均延迟。 |
Scan Next Median | 区域服务器中扫描操作的中位延迟。 |
操作延迟 - GET | |
Get Num Operations | 区域服务器中每秒GET请求的总数。 |
Get Min | 区域服务器中Get操作的最小延迟。 |
Get Max | 区域服务器中Get操作的最大延迟。 |
Get Mean | 区域服务器中Get操作的平均延迟。 |
Get Median | 区域服务器中Get操作的中位延迟。 |
参数 | 描述 |
---|---|
缓存详细信息 | |
Block Cache Count | 块缓存中的存储文件数量。 |
Block Cache Eviction Count | 从块缓存中被逐出块的总数。 |
Block Cache Free Size | 块缓存中空闲的字节数。 |
Block Cache Express Hit Percent | 对于打开缓存的请求,块缓存命中百分比。 |
Block Cache Hit Count | 无论缓存设置如何,对请求的块缓存命中总数。 |
Block Cache Count Hit Percent | 无论缓存设置如何,块缓存对所有请求都命中百分比。 |
Block Cache Miss Count | 不管缓存设置如何,对于请求,块缓存的丢失总数。 |
Block Cache Size | 缓存块使用的字节数。 |
SLOW 操作计数 | |
Slow Append Count | 需要超过1000ms才能完成Append的数量。 |
Slow Get Count | 需要超过1000ms才能完成Get的数量。 |
Slow Put Count | 需要超过1000ms才能完成Put的数量。 |
Slow Increment Count | 需要超过1000ms才能完成Increment的数量。 |
Slow Delete Count | 需要超过1000ms才能完成Delete的数量。 |
参数 | 描述 |
---|---|
HLog文件分割时间 | |
HLog Split Time Mean | 分割预写日志文件总大小的平均时间。 |
HLog Split Time Min | 分割预写日志文件总大小的最少时间。 |
HLog Split Time Max | 重新启动后分割预写日志文件的最大时间。 |
HLog Split Time Num Operations | 分割预写日志文件的时间。 |
HLog 分割文件大小 | |
HLog Split Size Mean | 分割HLog文件总大小的平均时间。 |
HLog Split Size Min | 分割HLog文件总大小的最小时间。 |
HLog Split Size Max | 分割HLog文件总大小的最大时间。 |
HLog Split Size Num Operations | 被分割的预写日志文件的大小。 |
参数 | 描述 |
---|---|
配置 | |
VM Name | Java虚拟机实施的名称。 |
Boot Class Path | 引导类加载程序用于搜索类文件的引导类路径。 |
VM Vendor | Java虚拟机实施的供应商。 |
Spec Version | 本产品实施的JMX规范的版本。 |