HBase监控方法以及核心指标

文章目录

  • [1. 监控指标采集](#1. 监控指标采集)
  • [2. 核心告警指标](#2. 核心告警指标)
    • [2.1 Master核心指标梳理](#2.1 Master核心指标梳理)
    • [2.2 RegionServer核心指标梳理](#2.2 RegionServer核心指标梳理)
  • [3. 参考文章](#3. 参考文章)

探讨hbase的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。

1. 监控指标采集

监控指标的采集方式使用promethues + jmx_prometheus_javaagent的方式进行,具体方案部署方案可以参考HDFS监控方法以及核心指标

需要注意的是,调整几个关键配置,

1, 配置master.yaml和regionserver.yaml

bash 复制代码
root@Master:/usr/local/monitor# cat /usr/local/monitor/master.yaml 
startDelaySeconds: 0
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false

root@Master:/usr/local/monitor# cat /usr/local/monitor/regionserver.yaml 
startDelaySeconds: 0
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false

2, 配置hdfs相关的OPTS

bash 复制代码
vim /usr/local/hbase-2.4.17/conf/hbase-env.sh 

# 增加jmx_prometheus_javaagent采集配置
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -javaagent:/usr/local/monitor/jmx_prometheus_javaagent-0.20.0.jar=10000:/usr/local/monitor/master.yaml"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -javaagent:/usr/local/monitor/jmx_prometheus_javaagent-0.20.0.jar=10001:/usr/local/monitor/regionserver.yaml"

3,正常启动hbase

bash 复制代码
cd /usr/local/hbase-2.4.17/bin
./hbase-daemon.sh start master
./hbase-daemon.sh start regionserver

4, 启动的进程中会携带jmx_prometheus_javaagent参数

5, 查看相关的指标

bash 复制代码
# resourcemanager指标
curl localhost:10000/metrics

# nodemanager指标
curl localhost:10001/metrics

配置prometheus等细节,可以参考可以参考HDFS监控方法以及核心指标,本文不再继续赘述。

2. 核心告警指标

2.1 Master核心指标梳理

指标名称 指标说明 参考值 备注
进程 进程 进程存在 == 1
masterStartTime Master 进程启动时间 >= 10s
主备情况 haState 1:主,0:备 集群必须包含1主1备
numCallsInPriorityQueue 通用队列 RPC 请求数 <= 1000 过长的rpc队列会导致nn处理不过来了,注意调优jvm或者线程数量以及客户端的缓存
numCallsInReplicationQueue 复制队列 RPC 请求数 <= 1000 过长的rpc队列会导致nn处理不过来了,注意调优jvm或者线程数量以及客户端的缓存
numOpenConnections 当前打开的连接个数 <= 1000 不宜有太多的链接,涉及性能问题,根据实际情况调整
numDeadRegionServers 当前Dead的 RegionServer 个数 <= 0

2.2 RegionServer核心指标梳理

指标名称 指标说明 参考值 备注
进程 进程 进程存在 == 1
numCallsInPriorityQueue 通用队列 RPC 请求数 <= 1000 过长的rpc队列会导致nn处理不过来了,注意调优jvm或者线程数量以及客户端的缓存
MemHeapUsedM/MemHeapMaxM Jvmd堆内内存使用率 <= 60%
AvailableVCores / (AllocatedVCores + AvailableVCores ) NodeManager 可用的 VCore 占比 <= 90% 涉及容量资源,不同环境根据实际情况调整
AvailableGB / (AllocatedGB + AvailableGB ) NodeManager 可用的 内存 占比 <= 90% 涉及容量资源,不同环境根据实际情况调整
BytesWrittenMB 写入 DN 的字节速率 根据机器的网卡带宽调整
BytesReadMB 读取 DN 的字节速率 根据机器的网卡带宽调整
VolumeFailures 磁盘故障次数 <= 0
DatanodeNetworkErrors 网络错误统计 <= 0
磁盘使用率 <= 70
磁盘await 磁盘读写的await <= 1ms

3. 参考文章

相关推荐
zhixingheyi_tian4 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao4 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
宅小海7 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白7 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋7 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
Java 第一深情11 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
MXsoft61811 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao12 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云12 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC13 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源