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
),輸出集群狀態信息。