MapR 5.0 Documentation : Integrate Hue with HBase or MapR-DB Tables

You can use the Hue HBase application to access both HBase and MapR-DB tables. In order to use the Hue HBase application, you need to complete these steps:

Installing the HBase Thrift Server

 

To simplify the installation process, install the HBase thrift server on the same node where HBase is running.

 

To install the mapr-hbasethrift package on Ubuntu, see Installing the HBase Thrift Server on Ubuntu. To install the mapr-hbasethrift package on RedHat or CentOS, see Installing the HBase Thrift Server on RHEL/CentOS.

Installing the HBase Thrift Server on Ubuntu

To install mapr-hbasethrift on Ubuntu, enter:

 

sudo apt-get install mapr-hbasethrift

Installing the HBase Thrift Server on RHEL/CentOS

To install mapr-hbasethrift on RHEL/CentOS, enter: 

 

sudo yum install mapr-hbasethrift

 

Starting the HBase Thrift Server

The HBase thrift service is managed by Warden. When mapr-hbasethrift is installed, the warden.hbasethrift.conf file is placed in the directory /opt/mapr/conf/conf.d. If warden is running, it will detect the file and start the service. If warden is not running, the file is picked up when warden starts. Warden monitors the service and displays the status on the MapR Control System UI.

To start the HBase thrift server, enter the following command with the name of the host where hbasethrift is running:

 

maprcli node services -name hbasethrift -action start -nodes node001

Verifying Server Status

To verify the status of the server, enter:

 

lsof -i:9090

 

The output from this command should look similar to this:

 

COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    22074 mapr  159u  IPv6 588536810      0t0  TCP *:websm (LISTEN)

Logs:
/opt/mapr/hbase/hbase-0.94.17/logs/hbase-mapr-thrift-*.log

Setting up MapR-DB Table Mapping

To use the Hue HBase application to access MapR-DB tables, you need to set the hbase.table.namespace.mappings property. This property allows you to map Apache HBase table names to MapR-DB tables. Set this property in the core-site.xml file as shown in Mapping Table Namespace Between Apache HBase Tables and MapR Tables.

This step is not required when you run Hue 3.7 with MapR 4.0.1 or above and HBase 0.98.7 or above.

In the following example, the hbase.table.namespace.mappings property is set so that any flat table name, such as mytable, is treated as a MapR-DB table in the directory /tables_dir/mytable.

<property>
  <name>hbase.table.namespace.mappings</name>
  <value>*:/tables_dir</value>
</property>

Once you finish enabling table mapping in the core-site.xml file, start (or restart) the HBase thrift server so the changes will take effect.

maprcli node services -name hbasethrift -action start -nodes node001

Configuring Hue for HBase

To configure Hue for HBase, edit the hbase section of the hue.ini file, which looks like this:

[hbase]
  # Comma-separated list of HBase Thrift servers for
  # clusters in the format of '(name|host:port)'.
  ## hbase_clusters=(Cluster|localhost:9090)

  # Hard limit of rows or columns per row fetched before truncating.
  ## truncate_limit = 500

 

In this file, make the following changes:

  1. Uncomment the ## hbase_clusters=(Cluster|localhost:9090) statement and provide the list of HBase thrift servers.

     hbase_clusters=(<clustername1>|<hostname1>:9090),(<clustername2>|<hostname2>:9090)[,...]
  2. (Optional) Uncomment the truncate_limit statement and change the value if necessary.