Hbase集群监控
Hbase Jmx监控
监控每个regionServer的总请求数,readRequestsCount,writeRequestCount,region分裂,region合并,Store
数据来源:
/jmx?qry=Hadoop:service=HBase,name=RegionServer,sub=Server 设计:
- 1.定时调度Hbase Jmx去捞取数据,数据存放在Mysql,最新的一条数据存放到redis缓存中查(设置过期时间5分钟)并插入数据库中(定时每五分钟调度一次)
- 2.每次获取Jmx数据后,从redis中获取5分钟前的数据,进行计算获取5分钟内的数据并保存到数据库中
查看详细图片:




Hbase对每张表的读写监控
数据来源:
通过Hbase Java Api
- 连接HBASE
org.apache.hadoop.hbase.client.Connection connection - 然后获取org.apache.hadoop.hbase.client.Admin admin = connection.getAdmin();
- 得到HBASE中的regionServer集合,
- 获取每个regionServer中RegionsLoad();
- 遍历RegionLoad获取每张表的Table Region
查看详细图片:




jmx常用监控指标
| 监控指标 | 范围 | 指标含义 |
|---|---|---|
| OpenFileDescriptorCount | Regionserver本机 | 当前机器打开文件数 |
| FreePhysicalMemorySize | Regionserver本机 | 空虚物理内存大小 |
| AvailableProcessors | Regionserver本机 | 可用cpu个数 |
| Region前缀--storeCount | 单个region | Store个数 |
| Region前缀--storeFileCount | 单个region | Storefile个数 |
| Region前缀--memStoreSize | 单个region | Memstore大小 |
| Region前缀--storeFileSize | 单个region | Storefile大小 |
| Region前缀--compactionsCompletedCount | 单个region | 合并完成次数 |
| Region前缀--numBytesCompactedCount | 单个region | 合并文件总大小 |
| Region前缀-- numFilesCompactedCount | 单个region | 合并完成文件个数 |
| totalRequestCount | Regionserver | 总请求数 |
| readRequestCount | Regionserver | 读请求数 |
| writeRequestCount | Regionserver | 写请求数 |
| compactedCellsCount | Regionserver | 合并cell个数 |
| majorCompactedCellsCount | Regionserver | 大合并cell个数 |
| flushedCellsSize | Regionserver | flush到磁盘的大小 |
| blockedRequestCount | Regionserver | 因memstore大于阈值而引发flush的次数 |
| splitRequestCount | Regionserver | region分裂请求次数 |
| splitSuccessCounnt | Regionserver | region分裂成功次数 |
| slowGetCount | Regionserver | 请求完成时间超过1000ms的次数 |
| numOpenConnections | Regionserver | 该regionserver打开的连接数 |
| numActiveHandler | Regionserver | rpc handler数 |
| receivedBytes | Regionserver | 收到数据量 |
| sentBytes | Regionserver | 发出数据量 |
| HeapMemoryUsage --->>>used | Regionserver | 堆内存使用量 |
| SyncTime_mean | Regionserver | WAL写hdfs的平均时间 |
| regionCount | Regionserver | Regionserver管理region数量 |
| memStoreSize | Regionserver | Regionserver管理的总memstoresize |
| storeFileSize | Regionserver | 该Regionserver管理的storefile大小 |
| staticIndexSize | Regionserver | 该regionserver所管理的表索引大小 |
| storeFileCount | Regionserver | 该regionserver所管理的storefile个数 |
| hlogFileSize | Regionserver | WAL文件大小 |
| hlogFileCount | Regionserver | WAL文件个数 |
| storeCount | Regionserver | 该regionserver所管理的store个数 |
| Name: java.lang:type=MemoryPool,name=Par Eden Space CollectionUsage—>>used | Regionserver | Eden区使用空间大小 |
| Name: java.lang:type=MemoryPool,name=CMS Old Gen | Regionserver | 老年代内存大小 |
| Name: java.lang:type=MemoryPool,name=Par Survivor Space CollectionUsageà> used | Regionserver | Survivor内存大小 |
| GcTimeMillis | Regionserver | GC总时间 |
| GcTimeMillisParNew | Regionserver | ParNew GC时间 |
| GcCount | Regionserver | GC总次数 |
| GcCountConcurrentMarkSweep | Regionserver | ConcurrentMarkSweep总次数 |
| GcTimeMillisConcurrentMarkSweep | Regionserver | ConcurrentMarkSweep GC时间 |
| ThreadsBlocked | Regionserver | Block线程数 |
| ThreadsWaiting | Regionserver | 等待线程数 |
原文链接:http://blogxinxiucan.sh1.newtouch.com/2017/08/10/Hbase集群监控/
公众号:it全能程序猿