Stackable Operator for Apache HBase
This is an operator for Kubernetes that manages Apache HBase clusters. Apache HBase is an open-source, distributed, non-relational database that runs on top of the Hadoop Distributed File System (HDFS).
Getting started
Follow the Getting started guide to learn how to install the Stackable operator for Apache HBase as well as the dependencies. The guide shows you how to interact with HBase running on Kubernetes by creating tables and some data using the REST API or Apache Phoenix.
The Usage guide contains more information on Using Apache Phoenix as well as other topics such as CPU and memory configuration, Monitoring and Log aggregation.
Operator model
The operator manages the HbaseCluster custom resource. You configure your HBase instance using this resource, and the operator creates Kubernetes resources such as StatefulSets, ConfigMaps and Services accordingly.
HBase uses three roles: masters
, regionServers
and restServers
.
For every RoleGroup a StatefulSet is created.
Each StatefulSet can contain multiple replicas (Pods).
For every RoleGroup a Service is created, as well as one for the whole cluster that references the regionServers
.
For every Role and RoleGroup the operator creates a Service.
A ConfigMap is created for each RoleGroup containing 3 files:
hbase-env.sh
and hbase-site.xml
files generated from the HbaseCluster configuration (See Usage guide for more information),
plus a log4j.properties
file used for Log aggregation.
The operator creates a discovery ConfigMap for the whole HbaseCluster a which contains information on how to connect to the HBase cluster.
Dependencies
A distributed Apache HBase installation depends on a running Apache ZooKeeper and HDFS cluster. See the documentation for the Stackable operator for Apache HDFS how to set up these clusters.
Demo
The hbase-hdfs-cycling-data demo shows how you can use HBase together with HDFS.
Supported versions
The Stackable operator for Apache HBase currently supports the HBase versions listed below. To use a specific HBase version in your HBaseCluster, you have to specify an image — this is explained in the Product image selection documentation. The operator also supports running images from a custom registry or running entirely customized images; both of these cases are explained under Product image selection as well.
-
2.6.0 (Experimental)
-
2.4.18 (LTS)
-
2.4.17 (Deprecated)
Useful links
-
The hbase-operator GitHub repository
-
The operator feature overview in the feature tracker
-
The HbaseCluster CRD documentation