在 CentOS 上搭建 HBase 监控的可落地方案
一 快速巡检与内置工具
- 使用 HBase Master Web UI:在浏览器访问 http://:16010/master-status,查看集群健康、RegionServer 列表、表与 Region 分布等。
- 使用 HBase Shell:
- 查看集群状态:
status 'simple'
- 查看 RegionServer 信息:
list_regions
- 查看表信息:
describe 'your_table_name'
- 使用 HBase Admin API(Java)获取运行状态,例如判断 Master 是否存活、获取集群状态等,适合做自定义健康检查与集成。
二 基于 JMX 的指标采集与可视化
- 启用 JMX 端口(在 hbase-site.xml 中配置):
- hbase.master.jmx.port:16030
- hbase.regionserver.jmx.port:16020
- 本地或远程连接 JMX:
- 本地:
jconsole service:jmx:rmi:///jndi/rmi://<master-host>:16030/jmxrmi
- 远程:使用 VisualVM 或 JMX Exporter 暴露为 HTTP 供 Prometheus 抓取。
- Prometheus 抓取配置示例(prometheus.yml):
- job_name: ‘hbase’
static_configs:
- targets: [‘:16030’, ‘:16020’]
- Grafana 可视化:添加 Prometheus 数据源,导入 HBase 仪表盘(社区面板或自建),展示 JVM、RPC、Region 等关键指标。
三 主机与 Hadoop 生态监控
- 主机层面:使用 top/htop、vmstat、free、iostat、netstat、dstat、iftop 等命令,持续观察 CPU、内存、磁盘 I/O、网络 等基础资源。
- Hadoop 生态:
- HDFS NameNode Web UI:查看 存储使用率、块分布、DataNode 健康。
- YARN ResourceManager Web UI:观察 RegionServer 所在节点的资源使用与任务分配(如部署在 YARN 上的场景)。
四 日志监控与告警
- 日志收集与分析:将 HMaster/RegionServer 日志接入 ELK(Logstash + Elasticsearch + Kibana),对 ERROR/WARN 关键字、GC 日志、长时间停顿等进行检索与可视化。
- 告警集成:
- Prometheus Alertmanager:基于指标阈值(如 RPC 延迟、请求错误率、Region 数量异常)触发告警。
- Nagios/Zabbix:通过插件或脚本对 端口存活、JMX 指标、日志关键字 做可用性监控与通知。
五 常用工具选型与适用场景
| 工具 |
适用场景 |
关键要点 |
| HBase Master UI |
日常快速巡检 |
访问 16010,查看集群与 RegionServer 状态 |
| JMX + Prometheus/Grafana |
指标化与可视化 |
暴露 16030/16020,Grafana 展示趋势与告警 |
| Ganglia |
大规模集群可视化 |
收集节点 CPU/内存/磁盘/网络 等指标 |
| Zabbix |
企业级监控与告警 |
主动采集、灵活阈值、丰富通知渠道 |
| Nagios |
可用性监控 |
插件化检查,适合服务存活与基础阈值告警 |
| Ambari/Cloudera Manager |
Hadoop 生态统一管理 |
若集群由 Ambari/CM 管理,可直接在控制台监控 HBase |