Apache HBase is an open-source non-relational distributed database modeled after Google Bigtable and written in Java. It is developed as part of Apache Software Foundation 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 following 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
hbase:
- 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"
- Adjust the jmx-port according to the jmx port used.
- jmx-port is required to enable remote JMX.
Validate
Go to Resources under the Infrastructure tab to check if your resources are onboarded and the metrics are collected.
Supported metrics
OpsRamp Metric | Metric Display Name | Unit |
---|---|---|
hbase_Server_averageLoad Average load of the server | Server Average Load | |
hbase_Server_clusterRequests Number of cluster requests | Server Cluster Requests | requests, |
hbase_Server_numDeadRegionServers Number of dead region servers | Server Num Dead Region Servers | |
hbase_Server_numRegionServers Number of region servers | Server Num Region Servers | |
hbase_Jvm_ThreadsRunnable Number of threads being executed in the JVM | Jvm Threads Runnable | Threads, |
hbase_Jvm_ThreadsTimedWaiting Number of threads waiting for another thread to perform an action for a specified waiting time | Jvm Threads Timed Waiting | Threads, |
hbase_Jvm_ThreadsBlocked Number of threads that are blocked waiting for a monitor lock | Jvm Threads Blocked | Threads, |
hbase_Jvm_ThreadsWaiting Number of threads waiting for another thread to perform an action | Jvm Threads Waiting | Threads, |
hbase_Jvm_MemHeapUsedM Heap memory used | Jvm Mem Heap Usedm | megabytes (MB) |
hbase_Jvm_MemHeapCommittedM Heap memory used | Jvm Mem Heap Committedm | megabytes (MB) |
hbase_IPC_receivedBytes Number of bytes of recieved data in the call queues | Ipc Received Bytes | bytes |
hbase_IPC_sentBytes Number of bytes of sent data in the call queues | Ipc Sent Bytes | bytes |
hbase_IPC_OutOfOrderScannerNextException Number of requests that resulted in the Out Of Order Scanner Next Exception | Ipc Out Of Order Scannernext Exception | requests |
hbase_IPC_UnknownScannerException Number of requests that resulted in the Unknown Scanner Exception | Ipc Unknownscannerexception | requests |
hbase_IPC_RegionTooBusyException Number of requests that resulted in the Region Too Busy Exception | Ipc Regiontoobusyexception | requests |
hbase_IPC_numOpenConnections Number of open connections at the RPC layer | Ipc Numopenconnections | connections |
hbase_IPC_TotalCallTime_num_ops Total call time, including both, queued and processing time | Ipc Totalcalltime Num Ops | seconds |
hbase_IPC_numActiveHandler Total number of active rpc handlers | Ipc Numactivehandler | |
hbase_IPC_numCallsInReplicationQueue Number of calls in the replication call queue waiting to run | Ipc Numcallsinreplicationqueue | |
hbase_RegionServer_blockCacheCount Number of blocks in the block cache | Regionserver Blockcachecount | |
hbase_RegionServer_blockCacheEvictionCount Count of the number of blocks evicted from the block cache Not including blocks evicted because of HFile removal | Regionserver Blockcacheevictioncount | |
hbase_RegionServer_blockCacheFreeSize Size of the block cache that is not occupied | Regionserver Blockcachefreesize | bytes |
hbase_RegionServer_blockCacheExpressHitPercent Percent of the time that requests with the cache turned on hit the cache | Regionserver Blockcacheexpresshitpercent | percent |
hbase_RegionServer_blockCacheHitCount Count of the hit on the block cache | Regionserver Blockcachehitcount | |
hbase_RegionServer_blockCacheCountHitPercent Percent of block cache requests that are hits | Regionserver Blockcachecounthitpercent | percent |
hbase_RegionServer_blockCacheMissCount Number of cache requests that are missed | Regionserver Blockcachemisscount | |
hbase_RegionServer_blockCacheSize Size of the block cache | Regionserver Blockcachesize | bytes |
hbase_RegionServer_slowGetCount Number of GETS that took over 1000ms to complete | Regionserver Slowgetcount | |
hbase_RegionServer_slowPutCount Number of batches with PUTS that took over 1000ms to complete | Regionserver Slowputcount | |
hbase_RegionServer_slowIncrementCount Number of increments that took over 1000ms to complete | Regionserver Slowincrementcount | |
hbase_RegionServer_slowDeleteCount Number of batches with DELETES that took over 1000ms to complete | Regionserver Slowdeletecount | |
hbase_FileSystem_HlogSplitSize_mean Average time taken to split the total size of an HLog file | Filesystem Hlogsplitsize Mean | seconds |
hbase_FileSystem_HlogSplitSize_min Minimum time taken to split the total size of an HLog file | Filesystem Hlogsplitsize Min | seconds |
hbase_FileSystem_HlogSplitSize_max Maximum time taken to split the total size of an HLog file | Filesystem Hlogsplitsize Max | seconds |
hbase_FileSystem_HlogSplitSize_num_ops Size of the write-ahead log files that were split | Filesystem Hlogsplitsize Num Ops | seconds |
hbase_FileSystem_HlogSplitTime_mean Average time taken to split the total size of a write-ahead log file | Filesystem Hlogsplittime Mean | seconds |
hbase_FileSystem_HlogSplitTime_min Minimum time taken to split the total size of a write-ahead log file | Filesystem Hlogsplittime Min | seconds |
hbase_FileSystem_HlogSplitTime_max Maximum time taken to split the write-ahead log file after a restart | Filesystem Hlogsplittime Max | seconds |
hbase_FileSystem_HlogSplitTime_num_ops Time taken to split the write-ahead log files | Filesystem Hlogsplittime Num Ops | seconds |