Configuring HBase on a Client Node

You can use a script to configure client nodes for use with HBase 1.1.13 or later on a secure or nonsecure Data Fabric cluster.

You configure client nodes as part of a new installation or when you need to upgrade mapr-hbase on the client node from a previous HBase version (for example, HBase 1.1.8) to 1.1.13 or later.

Configuration Using the configure_client.sh Script

The configure.sh utility does not support the configuration of client nodes for HBase. However, you can use the following script to configure a client by specifying the ZooKeeper host name and port. The script supports secure (MapR-SASL) and nonsecure clusters, but does not support Kerberos (see Manual Configuration):

/opt/mapr/hbase/hbase-1.1.13/bin/configure_client.sh -zkServer <host>:<port>

Manual Configuration

To configure a client node manually for use with HBase 1.1.13 or later on a secure or nonsecure Data Fabric cluster, do the following:
Desired Security Do this . . . Example
Nonsecure
  1. Modify the hbase.zookeeper.quorum property to change the hostname and add the ZooKeeper port.
<property>
    <name>hbase.zookeeper.quorum</name>
    <value><hostname>:5181</value>
</property>
Secure (MapR-SASL)
  1. Modify the hbase.zookeeper.quorum property as shown in the nonsecure example.
  2. Add the properties shown in this example.
<property>
    <name>hbase.security.authentication</name>
    <value>maprsasl</value>
</property>
<property>
    <name>hbase.rpc.protection</name>
    <value>privacy</value>
</property>
Secure (Kerberos)
  1. Modify the hbase.zookeeper.quorum property as shown in the nonsecure example.
  2. Add the properties shown in this example.
<property>
    <name>hbase.security.authentication</name>
    <value>kerberos</value>
  </property>
  <property>
    <name>hbase.rpc.protection</name>
    <value>privacy</value>
  </property>
<property>
   <name>hbase.master.kerberos.principal</name>
   <value><username>/<fqdn>@<realm></value>
</property>
<property>
   <name>hbase.regionserver.kerberos.principal</name>
   <value><username>/<fqdn>@<realm></value>
</property>