HBase(十一)集群监控
集群监控
工具集成
Hbase使用hadoop的监控框架,基于MetricsContext的可用的实现:
GangliaContext:指标推送到Ganglia
FileContext:指标写入磁盘文件
TimeStampingFileContext:写入文件的同时,加入时间戳前缀
CompositeContext:可以多管道,如写入Ganglia和文件
NullContext:关闭监控
NullContextWithUpdateThread:不生成监控指标,但是启动聚合统计线程。用于JMX监控。
Hbase内部用MetricsBase容器类跟踪,其包含各种消息发生的钩子。
集成配置文件是hadoop-metrics.properties,针对Ganglia和JMX等有不同的配置。
Nagios集成可以通过JMX媒介。
监控指标
Master
Master实际并不干什么活,所以监控的指标远远小于region server:
cluster requests:集群请求数,汇总所有region server的数据。
split time:重启后拆分WAL的时间
split size:查分WAL的大小。
Region Server
region服务器要监控的指标较多,大概分6类
块缓存监控
块缓存策略类似oracle的数据块缓存的策略,后续读取使用逻辑读而不是物理读。底层是HFile从HDFS读取的块,内存不足时会被清除。
count:当前缓存的数据块数量
site:当前缓存占用java heap大小
free:当前缓存还可以用多少heap
evicted:内存满需要被清除的块数目
hit:缓存命中
miss:缓存失效
hit ratio:缓存命中率
compaction监控
合并监控类指标,要合并成功后才更新,是个持久更新的指标,并不复位。
compaction size:要合并的存储文件总大小,单位byte
compaction time:合并操作总时间
compaction queue size:监控一个region server有多少文件在排队等待合并
memstore监控
memstore size MB:server上所有memstore占用的总heap大小。
flush queue size:将要被flush到磁盘的region数目。
flush size:flush到磁盘的大小,持续统计值,单位byte
flush time:flush所占用的时间,持续统计值
存储监控
store files:当前server所有存储文件的数目
stores:(没搞清楚和上一个指标有啥区别)
store file index size MB:所有文件中,块索引和元数据索引的总大小
IO监控
fs read latency:文件系统读延时,单位ms
fs write latency:文件系统写延时,单位ms
fs sync latency:WAL同步到文件系统的延时,单位ms
其他杂项监控
read request count:读,如get的数量
write request count:写,如put的数量
requests:每秒请求数,定时轮询更新数据。
regions:当前server在线region数目。
RPC
主要监控client和server间的RPC交互,这个监控在master和region server上看到的是一样的,因为是共享一套监控系统。
区分master和region,会在region相关的API操作增加region后缀。
所有API基本都会监控,有两个和API无关的监控单独说一下:
RPC Processing Time:服务端执行RPC消耗的时间,会统计所有RPC调用时间,取平均值
RPC Queue Time:RPC排队时间,即操作到达和实际执行的时间差
JVM
监控内存类,如堆和非堆内存使用情况
GC类,主要是gc数,和gc时间,注意gc时间过长引起的zk租期超时的假死问题
线程类,如新建、运行、阻塞线程的情况
错误日志,监控error的日志。
静态信息
这类监控更多用来核对配置和系统信息,如hbase 版本、编译时间等等。
- 点赞
- 收藏
- 关注作者
评论(0)