监控Apache HBase


Apache HBase - 概览

Apache HBase是一个分布式、可伸缩的数据存储。当您需要随机、实时地读取/写入访问大数据时,HBase是您开源的和非关系的数据库。Apache HBase在Hadoop和HDFS之上提供了类似 Google的Bigtable功能。

监控 Apache HBase - 监控内容

Application Manager致力于帮助Apache HBase管理员监控集群的区域分布。让我们来看看通过监控Apache HBase您能收集哪些性能指标,以及如何确保您的HBase数据库在Application Manager中正常运行:

  • 跟踪HBase集群指标 -监控HBase集群,以确保您的HBase集群已启动并运行,并按预期持续运行。跟踪区域服务器的平均负载、请求以及死机、活动和总体数量。
  • 内存和JVM的使用 - 跟踪内存使用的详细信息,如可用内存、空闲和总交换空间大小、提交的虚拟内存大小等。跟踪JVM指标来关联服务器性能。
  • 计量区域服务器性能 - 获取有关块缓存、缓存命中和错过计数以及命中率的指标。查看已压缩的压缩指标和存储文件的总大小。
  • 更快地修复性能问题 -当Apache HBase组件的组件出现性能问题时,获取即时通知。意识到性能瓶颈,并在最终用户发现问题之前采取快速补救措施。  

Apache HBase - 添加新的监视器

支持的版本: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监视器:点击此处

  1. 要创建Apache HBase 监视器,请遵循下面给出的步骤: 
    • 点击添加监视器 链接。选择Apache HBase
    • 输入监视器的 显示名称。
    • 输入HBase运行主机的 IP地址或主机名。
    • 在JMX Port字段中输入JMX Port。对于HBase的默认安装,JMX的主机端口号为10101,区域服务器的端口号为10102
    • 输入凭证详细信息,如用户名、密码JNDIPath,或从凭证管理列表 中选择凭证。 如果不需要身份验证,则将字段保留为空白。
    • 以分钟为单位输入轮询间隔 时间。
    • 如果您要对Apache HBase服务器的访问权限进行测试,点击 测试凭证 按钮。
    • 从要与Apache HBase 监视器关联的组合框中选择 业务组 (可选)。您可以选择多个组来关联您的监视器。
    • 点击 添加监视器。 这开始从网络中发现Apache HBase并监控它。

注意:
如果您在启用JMX之后无法添加监视器,请尝试提供以下参数:
 -Djava.rmi.server.hostname=[YOUR_IP]

监控的参数

点击监视器 选项卡,之后到监视器类别视图。点击数据库 表下的HBase。显示的是分发到三个选项卡的HBase批量配置视图:

  • 可用性 选项卡,给出过去24小时或30天的可用性历史。
  • 性能 选项卡给出过去24小时或30天的健康状况和事件。
  • 列表视图使您能够执行 批量管理配置。

点击监视器名称,查看以下选项卡下列出的所有服务器详细信息:

概述

参数 描述
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

参数 描述
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 区域繁忙异常。

Master - 区域服务器

参数 描述
传输的区域
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文件分割时间
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规范的版本。