Skip to content
sethcleveland edited this page Mar 18, 2014 · 8 revisions

Purpose

This page describes how to setup HBASE configuration to support developing or testing the Control Plane and Zenoss RM. This page provides instructions for setting up a single-node or multi-node HBASE configuration.

Assumptions

  • The hosts running hbase are dns resolvable

  • The hostname of the machine running hbase does not resolve to a loopback ip address

    Resolving to the loopback causes the opentsdb client to fail. The loopback interface in the container is different than the loopback on the host.

  • Assuming you run a single-node, the docker bridge ip is 172.17.42.1 (ip addr |grep docker0)

    The Zenoss template's opentsdb is configured by default to connect to zookeeper at 172.17.42.1:2182. This can be changed by editing the service template or definition. Pick your poison.

  • Java's installed and configured on the host.

Single-Node on host, configuration

  • Configure DNS on HOST

    1. Install dnsmasq

      sudo apt-get install dnsmasq

    2. Edit /etc/hosts and change hostname mapping to a non-loopback ip address.

    3. Restart dnsmasq

      sudo /etc/init.d/dnsmasq restart

    4. Configure serviced docker dns for resolving hostnames

    echo SERVICED_DOCKER_DNS=172.17.42.1 >> ~/.bashrc

    source ~/.bashrc

  • Setup HBASE

    1. Download HBASE

      wget -q -O- https://s3.amazonaws.com/pip.zenoss/binary_mirrors/hbase-0.94.16.tar.gz | tar -xz

    2. Configure HBASE put the following in hbase-0.94.16/conf/hbase-site.xml

hbase.zookeeper.property.clientPort 2182 Property from ZooKeeper's config zoo.cfg. The port at which the clients will connect. ```
  1. Start HBASE

    hbase-0.94.16/bin/hbase master start

Cloudera configuration

  • Install on 12.04 Ubuntu
  1. Download and install cloudera express

http://www.cloudera.com/content/support/en/downloads.html

chmod +x ./cloudera-manager-installer.bin 
sudo ./cloudera-manager-installer.bin
  1. Login to http://localhost:7180 (admin:admin)
  • Use Standard Install
  1. Configure - Cluster Installation
  • Be sure to select Use Parcels, CDH and matched release.
  • Install the Hbase service.
  • Put the desired nodes into the configuration. For example you can use the host running the manager.
  1. Choose the CDH Services
  • Ensure to select the Hbase, zookeeper, and HDFS

More detailed instructions here:

  1. Install Cloudera Manager:

    http://www.cloudera.com/content/support/en/documentation/manager/cloudera-manager-v4-latest.html

  2. Install Cloudera Hbase:

    http://www.cloudera.com/content/support/en/documentation/cdh4-documentation/cdh4-documentation-v4-latest.html

Configure HBASE for OpenTsdb

  1. Download opentsdb

    git clone git://github.com/OpenTSDB/opentsdb.git

  2. Create tables

    export HBASE_HOME=0.94.16
    export COMPRESSION=NONE
    opentsdb/src/create_tables.sh
    

Changing Zenoss OpenTsdb Zookeeper Quorum (aka HBase nodes)

  • Go to the services directory (the one with the templates)

  • Using Zenoss.core for example, edit Zenoss.core/opentsdb/service.json

  • Change the context value, zkquorum to your desired servers (comma separated).