HBase is the Hadoop database. Think of it as a distributed scalable Big Data store.
Use HBase when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.
HBase is an open-source, distributed, versioned, column-oriented store modeled after Google's Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, HBase provides Bigtable-like capabilities on top of Hadoop and HDFS.
HBase provides:
See the homepage for more information.
This charm deploys the hbase master and regionserver components of the Apache Bigtop platform.
A working Juju installation is assumed to be present. If Juju is not yet set up, please follow the getting-started instructions prior to deploying this charm.
An HBase deployment consists of HBase masters and HBase RegionServers. In a distributed HBase environment, one master and one regionserver are deployed on each unit. HBase makes sure that only one master is active and the rest are in standby mode in case the active one fails.
HBase operates over HDFS, so we first need to deploy an HDFS cluster:
juju deploy hadoop-namenode namenode juju deploy hadoop-slave slave juju deploy hadoop-plugin plugin juju add-relation namenode slave juju add-relation plugin namenode
In order to function correctly, the HBase master and regionserver applications have a mandatory relationship with Zookeeper. Use the zookeeper charm to create a functional zookeeper quorum. Remember that quorums come in odd numbers starting with 3 (one will work, but will offer no resilience):
juju deploy zookeeper -n 3
Now add HBase scaled to 3 units and add the required relations:
juju deploy hbase -n 3 juju add-relation plugin hbase juju add-relation zookeeper hbase
The charm also supports use of the thrift gateway.
Charms can be deployed in environments with limited network access. To deploy in this environment, configure a Juju model with appropriate proxy and/or mirror options. See Configuring Models for more information.
Apache Bigtop charms provide extended status reporting to indicate when they are ready:
juju status
This is particularly useful when combined with watch
to track the on-going progress of the deployment:
watch -n 2 juju status
The message column will provide information about a given unit's state. This charm is ready for use once the status message indicates that it is ready.
This charm provides a smoke-test
action that can be used to verify the application is functioning as expected. Run the action as follows:
juju run-action hbase/0 smoke-test
Note: The above assumes Juju 2.0 or greater. If using an earlier version of Juju, the syntax is
juju action do hbase/0 smoke-test
.
Watch the progress of the smoke test actions with:
watch -n 2 juju show-action-status
Note: The above assumes Juju 2.0 or greater. If using an earlier version of Juju, the syntax is
juju action status
.
Eventually, the action should settle to status: completed
. If it reports status: failed
, the application is not working as expected. Get more information about a specific smoke test with:
juju show-action-output <action-id>
Note: The above assumes Juju 2.0 or greater. If using an earlier version of Juju, the syntax is
juju action fetch <action-id>
.
Restarting an HBase deployment is potentially disruptive. Be aware that the following events will cause a restart: