一、HBase自带监控工具
HBase自带Web界面,可直观查看集群状态、RegionServer分布、表信息等。默认访问地址为http://<HBase_Master主机名或IP>:16010/master-status(需确保防火墙开放16010端口)。通过该界面可快速了解集群整体健康状况。
HBase Shell是命令行交互工具,可用于执行监控操作:
status 'simple',显示Master运行状态、RegionServer数量及运行时间;list_regions 'your_table_name',查看指定表的Region分布情况;describe 'your_table_name',查看表的列族、压缩方式等配置信息。二、JMX监控
HBase通过JMX(Java Management Extensions)暴露丰富指标(如RegionServer负载、RPC调用次数、缓存命中率等)。需先在hbase-site.xml中启用JMX:
<property>
<name>hbase.regionserver.jmx.port</name>
<value>16020</value> <!-- RegionServer JMX端口 -->
</property>
<property>
<name>hbase.master.jmx.port</name>
<value>16030</value> <!-- Master JMX端口 -->
</property>
启用后,可使用jconsole(JDK自带)或VisualVM连接service:jmx:rmi:///jndi/rmi://<master-host>:16030/jmxrmi(Master)或RegionServer对应端口,实时查看指标。
三、第三方监控工具
prometheus.yml中添加HBase监控目标:scrape_configs:
- job_name: 'hbase'
static_configs:
- targets: ['<master-host>:16020', '<regionserver-host>:16020']
Ganglia是分布式监控系统,适合大规模HBase集群。配置步骤:
yum install ganglia-gmetad ganglia-gmond ganglia-web);gmetad.conf,添加HBase集群数据源;gmond.conf,配置HBase节点监控参数;Zabbix是功能强大的企业级监控工具,支持HBase监控:
zabbix_agentd.conf,添加HBase监控项(如RegionServer端口、JMX指标);四、日志与告警
HBase的日志文件位于$HBASE_HOME/logs/目录,主要包括:
hmaster.log):记录Master运行状态;regionserver.log):记录RegionServer运行状态。
可通过tail -f命令实时查看日志,或使用ELK Stack(Elasticsearch+Logstash+Kibana)收集、分析日志,设置关键字告警(如“ERROR”“Exception”)。结合第三方工具(如Prometheus Alertmanager、Nagios、Zabbix)设置告警规则:
hbase_regionserver_rpc_queue_length > 100),设置告警阈值和通知方式;check_hbase.pl),监控HBase服务可用性,触发告警。五、系统自带命令辅助监控 通过CentOS系统命令可监控HBase相关资源使用情况: