Apache HBase is an open-source non-relational distributed database modeled after Google’s Bigtable and written in Java. It is developed as part of Apache Software Foundation’s Apache Hadoop project and runs on top of HDFS or Alluxio, providing Bigtable-like capabilities for Hadoop.
Prerequisites
- In standard installation (extracting the tar), specify the JMX Port using the environment variable.
- Add the following to
~/.bashrc
HBASE_HOME=<directory where hbase is extracted>
export HBASE_CONF_DIR=$HBASE_HOME/conf
- Go to the configuration directory in the HBase folder.
- In the file
hbase-env.sh
uncomment lineJAVA_HOME
and add the appropriate Java path. - uncomment the follwoing lines to enable JMX:
export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=<port>" export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=<port>"
- For Virtual Machines, install the Linux Agent.
Configuring the credentials
Configure the credentials in the directory /opt/opsramp/agent/conf/app.d/creds.yaml
hbse:
- name: hbase
user: <username>
pwd: <Password>
encoding-type: plain
labels:
key1: val1
key2: val2
Configuring the application
Virtual machine
Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-detection.yaml
- name: hbase
instance-checks:
process-check:
- hbase
port-check:
- 60010
mon-type: "jmx"
misc:
jmx-port: "7199"
Docker environment
Configure the application in the directory /opt/opsramp/agent/conf/app/discovery/auto-container-detection.yaml
- name: hbase
container-checks:
image-check:
- hbase
port-check:
- 60010
mon-type: "jmx"
misc:
jmx-port: "7199"
Kubernetes environment
Configure the application in config.yaml
- name: hbase
container-checks:
image-check:
- hbase
port-check:
- 60010
mon-type: "jmx"
misc:
jmx-port: "7199"
Note
- Adjust the jmx-port according to the jmx port used.
- jmx-port is mandatory to enable remote JMX.
Validate
Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.
Metrics
OpsRamp Metric | Metric Display Name | Unit | Description |
---|---|---|---|
hbase_Server_averageLoad | Server Average Load | Average load of the server | |
hbase_Server_clusterRequests | Server Cluster Requests | requests, | Number of cluster requests |
hbase_Server_numDeadRegionServers | Server Num Dead Region Servers | Number of dead region servers | |
hbase_Server_numRegionServers | Server Num Region Servers | Number of region servers | |
hbase_Jvm_ThreadsRunnable | Jvm Threads Runnable | Threads, | Number of threads being executed in the JVM |
hbase_Jvm_ThreadsTimedWaiting | Jvm Threads Timed Waiting | Threads, | Number of threads waiting for another thread to perform an action for a specified waiting time |
hbase_Jvm_ThreadsBlocked | Jvm Threads Blocked | Threads, | Number of threads that are blocked waiting for a monitor lock |
hbase_Jvm_ThreadsWaiting | Jvm Threads Waiting | Threads, | Number of threads waiting for another thread to perform a particular action |
hbase_Jvm_MemHeapUsedM | Jvm Mem Heap Usedm | MB | Heap memory used |
hbase_Jvm_MemHeapCommittedM | Jvm Mem Heap Committedm | MB | Heap memory used |
hbase_IPC_receivedBytes | Ipc Received Bytes | bytes | Number of bytes of recieved data in the call queues |
hbase_IPC_sentBytes | Ipc Sent Bytes | bytes | Number of bytes of sent data in the call queues |
hbase_IPC_OutOfOrderScannerNextException | Ipc Out Of Order Scannernext Exception | requests | Number of requests that resulted in the Out Of Order Scanner Next Exception |
hbase_IPC_UnknownScannerException | Ipc Unknownscannerexception | requests | Number of requests that resulted in the Unknown Scanner Exception |
hbase_IPC_RegionTooBusyException | Ipc Regiontoobusyexception | requests | Number of requests that resulted in the Region Too Busy Exception |
hbase_IPC_numOpenConnections | Ipc Numopenconnections | connections | Number of open connections at the RPC layer |
hbase_IPC_TotalCallTime_num_ops | Ipc Totalcalltime Num Ops | seconds | Total call time, including both, queued and processing time |
hbase_IPC_numActiveHandler | Ipc Numactivehandler | Total number of active rpc handlers | |
hbase_IPC_numCallsInReplicationQueue | Ipc Numcallsinreplicationqueue | Number of calls in the replication call queue waiting to run | |
hbase_RegionServer_blockCacheCount | Regionserver Blockcachecount | Number of blocks in the block cache | |
hbase_RegionServer_blockCacheEvictionCount | Regionserver Blockcacheevictioncount | Count of the number of blocks evicted from the block cache Not including blocks evicted because of HFile removal | |
hbase_RegionServer_blockCacheFreeSize | Regionserver Blockcachefreesize | bytes | Size of the block cache that is not occupied |
hbase_RegionServer_blockCacheExpressHitPercent | Regionserver Blockcacheexpresshitpercent | percent | Percent of the time that requests with the cache turned on hit the cache |
hbase_RegionServer_blockCacheHitCount | Regionserver Blockcachehitcount | Count of the hit on the block cache | |
hbase_RegionServer_blockCacheCountHitPercent | Regionserver Blockcachecounthitpercent | percent | Percent of block cache requests that are hits |
hbase_RegionServer_blockCacheMissCount | Regionserver Blockcachemisscount | Number of cache requests that are missed | |
hbase_RegionServer_blockCacheSize | Regionserver Blockcachesize | bytes | Size of the block cache |
hbase_RegionServer_slowGetCount | Regionserver Slowgetcount | Number of Gets that took over 1000ms to complete | |
hbase_RegionServer_slowPutCount | Regionserver Slowputcount | Number of batches containing puts that took over 1000ms to complete | |
hbase_RegionServer_slowIncrementCount | Regionserver Slowincrementcount | Number of increments that took over 1000ms to complete | |
hbase_RegionServer_slowDeleteCount | Regionserver Slowdeletecount | Number of batches containing deletes that took over 1000ms to complete | |
hbase_FileSystem_HlogSplitSize_mean | Filesystem Hlogsplitsize Mean | seconds | Average time taken to split the total size of an HLog file |
hbase_FileSystem_HlogSplitSize_min | Filesystem Hlogsplitsize Min | seconds | Minimum time taken to split the total size of an HLog file |
hbase_FileSystem_HlogSplitSize_max | Filesystem Hlogsplitsize Max | seconds | Maximum time taken to split the total size of an HLog file |
hbase_FileSystem_HlogSplitSize_num_ops | Filesystem Hlogsplitsize Num Ops | seconds | Size of the write-ahead log files that were split |
hbase_FileSystem_HlogSplitTime_mean | Filesystem Hlogsplittime Mean | seconds | Average time taken to split the total size of a write-ahead log file |
hbase_FileSystem_HlogSplitTime_min | Filesystem Hlogsplittime Min | seconds | Minimum time taken to split the total size of a write-ahead log file |
hbase_FileSystem_HlogSplitTime_max | Filesystem Hlogsplittime Max | seconds | Maximum time taken to split the write-ahead log file after a restart |
hbase_FileSystem_HlogSplitTime_num_ops | Filesystem Hlogsplittime Num Ops | seconds | Time taken to split the write-ahead log files |