HBase是一個分布式的NoSQL數(shù)據(jù)庫,具有高可用性和可擴(kuò)展性。為了監(jiān)控HBase集群中的性能,HBase提供了一個稱為JMX的Java Management Extensions的API。JMX API可以通過HTTP JSON API進(jìn)行友好的響應(yīng)式監(jiān)控。
代碼示例: { "beans" : [ { "name" : "Hadoop:service=HBase,name=RegionServer,sub=Server", "modelerType" : "org.apache.hadoop.hbase.regionserver.RegionServer", "tag.port" : "60030", "memstoreSize" : 248491776, "usedHeapSize" : 181734744, "storeFileSize" : 392226101, "lastMajorCompactionTimestamp" : 1490874071550, "readRequestsCount" : 117, "writeRequestsCount" : 511, "compactionQueueSize" : 0, "flushQueueSize" : 0, "blockCacheCount" : 1, "blockCacheSize" : 256, "blockCacheFree" : 70373116, "blockCacheHitCount" : 738, "blockCacheMissCount" : 9, "blockCacheEvictionCount" : 238, "slowHLogAppendCount" : 0, "storeFileCount" : 11, "hlogFileCount" : 2 }] }
上述JSON代碼段是使用HBase JMX REST API檢索RegionServer指標(biāo)的示例。在這個JSON響應(yīng)中,可以檢索大量關(guān)于RegionServer的指標(biāo)數(shù)據(jù),如存儲文件大小、內(nèi)存使用情況、緩存使用情況、請求計(jì)數(shù)等等。可以通過使用不同的JMX bean名稱來檢索其他指標(biāo)。
總之,使用HBase JMX JSON API可以在不必太麻煩地安裝和配置的情況下,實(shí)現(xiàn)對HBase集群的實(shí)時監(jiān)視和性能調(diào)優(yōu)。