Administering HDFS
Also available as:
PDF

Add HBase RegionServer

Install HBase, ZooKeeper, add the HDP repository, and copy the HBase configurations to the new slave nodes.

Use the following instructions to manually add HBase RegionServer hosts:
  1. On each of the new slave nodes, install HBase and ZooKeeper.
    • For RHEL/CentOS/Oracle Linux:

      yum install zookeeper hbase 
    • For SLES:

      zypper install zookeeper hbase 
  2. On each of the new slave nodes, add the HDP repository to yum:
    • RHEL/CentOS/Oracle Linux 6.x:

      wget -nv http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/hdp.repo -O /etc/yum.repos.d/hdp.repo 
    • RHEL/CentOS/Oracle Linux 7.x:

      wget -nv http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.3.0.0/hdp.repo -O /etc/yum.repos.d/hdp.repo 
    • SLES SP3/SP4:

      wget -nv http://public-repo-1.hortonworks.com/HDP/suse11sp3/2.x/updates/2.3.0.0/hdp.repo -O /etc/zypp/repos.d/hdp.repo 
  3. Copy the HBase configurations to the new slave nodes and set appropriate permissions.
    • Option I: Copy HBase config files from an existing slave node.

      • On any existing slave node, make a copy of the current configurations:

        tar zcvf hbase_conf.tgz /etc/hbase/conf 
        tar zcvf zookeeper_conf.tgz /etc/zookeeper/conf 
      • Copy these files to each of the new nodes:

        rm -rf /etc/hbase/conf
        mkdir -p /etc/hbase/conf
        cd /
        tar zxvf $location_of_copied_conf_tar_file/hbase_conf.tgz
        chmod -R 755 /etc/hbase/conf
        rm -rf /etc/zookeeper/conf
        mkdir -p /etc/zookeeper/conf
        cd /
        tar zxvf $location_of_copied_conf_tar_file/zookeeper_conf.tgz
        chmod -R 755 /etc/zookeeper/conf
    • Option II: Manually add Hadoop configuration files.

  4. On all of the new slave nodes, create the configuration directory, copy all of the configuration files, and set the permissions:
    rm -r $HBASE_CONF_DIR ;
    mkdir -p $HBASE_CONF_DIR ;

    Copy all of the configuration files to $HBASE_CONF_DIR

    chmod a+x $HBASE_CONF_DIR/;
    chown -R $HBASE_USER:$HADOOP_GROUP $HBASE_CONF_DIR/../ ;
    chmod -R 755 $HBASE_CONF_DIR/../
    rm -r $ZOOKEEPER_CONF_DIR ;
    mkdir -p $ZOOKEEPER_CONF_DIR ;

    Copy all of the configuration files to $ZOOKEEPER_CONF_DIR

    chmod a+x $ZOOKEEPER_CONF_DIR/;
    chown -R $ZOOKEEPER_USER:$HADOOP_GROUP $ZOOKEEPER_CONF_DIR/../ ;
    chmod -R 755 $ZOOKEEPER_CONF_DIR/../

    where:

    • $HBASE_CONF_DIR is the directory to store the HBase configuration files. For example, /etc/hbase/conf.

    • $HBASE_USER is the user owning the HBase services. For example, hbase.

    • $HADOOP_GROUP is a common group shared by services. For example, hadoop.

    • $ZOOKEEPER_CONF_DIR is the directory to store the ZooKeeper configuration files. For example, /etc/zookeeper/conf

    • $ZOOKEEPER_USER is the user owning the ZooKeeper services. For example, zookeeper.

  5. Start HBase RegionServer node:
    <login as $HBASE_USER>
    /usr/lib/hbase/bin/hbase-daemon.sh --config $HBASE_CONF_DIR start regionserver
  6. On the HBase Master host machine, edit the /usr/lib/hbase/conf file and add the list of slave nodes' hostnames. The hostnames must be separated by a newline character.