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. 参考文章

相关推荐
程序员沉梦听雨38 分钟前
【Elasticsearch】入门篇
大数据·elasticsearch·搜索引擎
Gadus_42 分钟前
Elasticsearch性能优化实践
大数据·elasticsearch·搜索引擎·性能优化
riveting2 小时前
SD2351核心板:重构AI视觉产业价值链的“超级节点”
大数据·linux·图像处理·人工智能·重构·智能硬件
欧先生^_^3 小时前
Spark 的一些典型应用场景及具体示例
大数据·分布式·spark
八股文领域大手子4 小时前
如何给GitHub项目提PR(踩坑记录
大数据·elasticsearch·github
爱吃龙利鱼4 小时前
elk中kibana一直处于可用和降级之间且es群集状态并没有问题的解决方法
大数据·elk·elasticsearch
腾讯云大数据4 小时前
腾讯云ES一站式RAG方案获信通院“开源大模型+软件创新应用”精选案例奖
大数据·elasticsearch·开源·云计算·腾讯云
苍煜4 小时前
Elasticsearch(ES)中的脚本(Script)
大数据·elasticsearch·搜索引擎
Hello kele5 小时前
解构与重构:“整体部分”视角下的软件开发思维范式
大数据·经验分享·程序员·重构·项目管理·人月神话·沟通困局
Elastic 中国社区官方博客5 小时前
使用 LangGraph 和 Elasticsearch 构建强大的 RAG 工作流
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索