HBase Web-UI
HBase自带的Web UI上Region单位的 Read Request Count/Write Request Count,不过这只是个累计值。
Region Load Data in Recent One Minute
代码语言:javascript复制https://hb-xxxx-nginx-master1-001.hbase.rds.aliyuncs.com/master-1/topregion.jsp
顾名思意:Region Load Data in Recent One Minute
,查看最近一分钟的Region上分布的表的每秒读/写次数。
Region Load Data in Recent One Minute.png
小时-日-周-月-年 维度监控表的读写情况(aggregate graphs)
代码语言:javascript复制https://hb-xxx-nginx-master1-001.hbase.rds.yyyy.com/gl/ganglia/aggregate_graphs.php
来自"咖喱鸭".png
代码语言:javascript复制regionserver.Tables.namespacne_{Namespace}_table_{tablename}_metric_readRequestCount
regionserver.Tables.namespace_{Namespace}_table_{tablename}_metric_writeRequestCount
小时-日-周-月-年 维度.png
MyGrid Grid-->hbase_cluster
以node为单位,时间维度观测metrics指标信息
代码语言:javascript复制https://hb-xxxxxx-nginx-master1-001.hbase.rds.aliyuncs.com/gl/ganglia/?r=month&cs=&ce=&c=hbase_cluster&h=&tab=m&vn=&hide-hf=false&m=regionserver.Tables.Namespace_namespace_table_tablename_metric_totalRequestCount&sh=1&z=small&hc=4&host_regex=&max_graphs=0&s=by name
image.png
image.png
Put/Get RT
image.png
image.png
image.png
从监控上看,hbase get key
的时间非常短,999在1~2ms
之间,不过有很多客户端代码逻辑中耗时较多的操作,如多次遍历获取一条记录的多个column,创建HBase Connection,scan多个rowkey。
HBase监控哪些
存储
image.png
读请求
image.png
写请求
image.png
集群负载
image.png
CPU与系统负载
- 每分钟平均负载
- 最近5分钟平均负载
- CPU利用率user(%)
- CPU空闲率(%)
- CPU利用率system(%)
- CPU利用率IOWait(%)
系统内存
- 空闲内存比例(0-1)
- 空闲内存总量(KB)
- 内存总量(KB)
网络流量
- 每秒网络流入量(bytes/s)
- 每秒网络流出量(bytes/s)
其他豆知识
HBase写入是先写WAL,然后写内存,如果宕机了,内存里的数据会丢失,需要回放log恢复数据之后,region才能上线,这个是需要时间的一般是3到5分钟。 而升级是不要这个过程的,region会先移走这个时间是百ms级别的。
hbase zk针对某个ip机器上连接有个上限:200,整体上HBase的连接数没有上限,据官方说是几十万级别的。 范围读说是的是 scan[startkey, endkey],顺序的扫描数据