HBase提供了基础的Web界面和命令行工具,适合快速查看集群状态:
http://<master-host>:16010/master-status(默认端口16010),可查看集群整体状态、RegionServer列表、Region分布、表信息及Metrics指标(如读写延迟、吞吐量)。hbase shell),使用以下命令监控状态:
status 'simple':查看集群基本状态(Master/RegionServer数量、运行时间);status 'detailed':查看详细集群状态(包括RegionServer负载、Region数量);list_regions:查看Region分布情况;describe 'table_name':查看表的Schema及配置信息。jps命令确认HBase核心进程(HMaster、HRegionServer)是否运行;/var/log/hbase/下的hbase-master.log、hbase-regionserver.log),获取错误或警告信息。HBase通过JMX(Java Management Extensions)暴露详细性能指标,适合深入分析:
hbase-site.xml,添加以下配置(指定JMX端口):<property>["是", "hbase.regionserver.jmx.port", "16020"], ["是", "hbase.master.jmx.port", "16030"]</property>
jconsole(本地连接)或VisualVM(远程连接),输入JMX URL(如service:jmx:rmi:///jndi/rmi://<master-host>:16030/jmxrmi),查看线程、内存、GC、RPC调用等指标。第三方工具提供集中化监控、可视化和告警功能,适合生产环境:
hbase-jmx-exporter.yml,指定JMX端口);scrape_configs抓取HBase指标(目标为<master-host>:16030、<regionserver-host>:16020);zabbix_agentd.conf,添加HBase监控项(如CPU使用率、内存占用、RegionServer请求数);check_hbase.pl插件;通过HBase Admin API编程获取集群状态,适合自定义监控需求:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.ClusterStatus;
public class HBaseStatusChecker {
public static void main(String[] args) throws Exception {
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "your_zookeeper_quorum");
try (Connection connection = ConnectionFactory.createConnection(config);
Admin admin = connection.getAdmin()) {
ClusterStatus status = admin.getClusterStatus();
System.out.println("HBase Master Running: " + admin.isMasterRunning());
System.out.println("Live RegionServers: " + status.getLiveRegionServers().size());
System.out.println("Dead RegionServers: " + status.getDeadRegionServers().size());
}
}
}
HBaseStatusChecker.java,编译后运行(java HBaseStatusChecker),输出集群状态信息。