Use the following instructions to manually add HBase RegionServer hosts:
On each of the newly added slave nodes, install HBase and ZooKeeper.
For RHEL/CentOS:
yum install zookeeper hbase
For SLES:
zypper install zookeeper hbase
On each of the newly added slave nodes, add the HDP repository to yum:
wget -nv //public-repo-1.hortonworks.com/HDP-1.2.2/repos/centos6/hdp.repo -O /etc/yum.repos.d/hdp.repo yum clean all
Copy the HBase configurations to the newly added 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 this file 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.
Download the HBase/ZooKeeper config files from here and extract these files under
configuration_files -> hbase
andconfiguration_files -> zookeeper
directories to two temporary locations.Modify the configuration files:
Table 7.5. zoo.cfg Variable Example Description server.1 $zookeeper.server1.full.hostname
:2888:3888Enter the 1st ZooKeeper hostname server.2 $zookeeper.server1.full.hostname
:2888:3888Enter the 2nd ZooKeeper hostname server.3 $zookeeper.server3.full.hostname
:2888:3888Enter the 3rd ZooKeeper hostname Table 7.6. hbase-site.xml Variable Example Description hbase.rootdir hdfs://
$namenode.full.hostname
:8020/apps/hbase/dataEnter the HBase NameNode server hbase.master.info.bindAddress $hbase.master.full.hostname
Enter the HBase Master server hostname hbase.zookeeper.quorum server1.full.hostname,server2.full.hostname, server3.full.hostname
Comma separated list of Zookeeper servers (match to what is specified in zoo.cfg
but without port numbers)
On all the new slave nodes create the config directory, copy all the config files, and set the permissions:
rm -r $HBASE_CONF_DIR ; mkdir -p $HBASE_CONF_DIR ;
copy all the config 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 the config 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
.
Start HBase RegionServer node:
<login as $HBASE_USER> /usr/lib/hbase/bin/hbase-daemon.sh --config $HBASE_CONF_DIR start regionserver
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.Optional: Enable monitoring on the newly added slave nodes using the instructions provided here.
Optional: Enable cluster alerting on the newly added slave nodes using the instructions provided here.