The Stackable Operator for Apache HBase publishes a discovery ConfigMap, which exposes a client configuration bundle that allows access to the Apache HBase cluster.


Given the following HBase cluster:

kind: HbaseCluster
  name: {cluster-name} (1)
  namespace: {namespace} (2)
    hdfsConfigMapName: {hdfs-cluster-name} (3)
    zookeeperConfigMapName: {zookeeper-znode-name} (4)
1 The name of the HBase cluster, which is also the name of the created discovery ConfigMap.
2 The namespace of the discovery ConfigMap.
3 The ConfigMap name to discover the HDFS cluster.
4 The ConfigMap name to discover the ZooKeeper ZNode.

The resulting discovery ConfigMap is located at {namespace}/{cluster-name}.


The ConfigMap data values are formatted as Hadoop XML files which allows simple mounting of that ConfigMap into pods that require access to HBase.


Contains the needed information to connect to Zookeeper and use that to establish a connection to HBase.


In case Kerberos is enabled according to the security documentation, the discovery ConfigMap also includes the information that clients must authenticate themselves using Kerberos.

If you want to use the discovery ConfigMap outside Stackable services, you need to substitute ${env.KERBEROS_REALM} with your actual realm (e.g. by using sed -i -e 's/${{env.KERBEROS_REALM}}/'"$KERBEROS_REALM/g" hbase-site.xml).

One example would be the property hbase.master.kerberos.principal being set to hbase/hbase.default.svc.cluster.local@${env.KERBEROS_REALM}.