Community Articles

Find and share helpful community-sourced technical articles.
Announcements
Celebrating as our community reaches 100,000 members! Thank you!
avatar
Expert Contributor

Adding HBase HA to a blueprint with high availability is a very straightforward process. The blueprint you start from has to include a zookeeper quorum, like the blueprint that provides HA namenodes and resourcemanagers that is discussed in "Cloudbreak blueprint for high-availability Hadoop and Hive". We will add HBase Master services to two master host groups, HBase Regionservers to the datanode host group, and an hbase-site configuration section.

Required Zookeeper Quorum

To properly specify the zookeepers to be used, you will need at least three separate host groups with cardinality of 1 to provide the zookeepers. In the blueprint provided in the previous article, those hostgroups are: master_mgmt, master_nn1 and master_nn2. In that blueprint, master_mgmt contains the Ambari, metrics and other management services, while master_nn1 and master_nn2 contain the redundant namenodes and resourcemanagers. In this example, we will add redundant HBase masters to those host groups as well.

Adding HBase Services to Host Groups

The following blueprint diagram shows the additional HBase services in the Cloudbreak blueprint list view:

92502-hbase-services-layout.png

Addition to components section of the master_mgmt host group:

        {
          "name": "HBASE_CLIENT"
        },

Addition to the components section of master_nn1 and master_nn2 host groups:

        {
          "name": "HBASE_MASTER"
        },
        {
          "name": "HBASE_CLIENT"
        },

Addition to the components section of the datanode host group:

        {
          "name": "HBASE_CLIENT"
        },
        {
          "name": "HBASE_REGIONSERVER"
        },

Adding hbase-site configuration section

A new section is required in the "Configurations" section of the blueprint to define the zookeeper settings for HBase. This defines the Zookeeper servers to be used, which we looked at in a previous section. It also configures a couple of other zookeeper settings for HBase.

   {
      "hbase-site": {
        "properties": {
          "hbase.zookeeper.property.clientPort": "2181",
          "hbase.zookeeper.quorum": "%HOSTGROUP::master_nn1%,%HOSTGROUP::master_nn2%,%HOSTGROUP::master_mgmt%",
          "hbase.zookeeper.useMulti": "true"
        }
      }
    },


That's all that's needed to add HBase HA to a blueprint that already has a Zookeeper quorum. Attached is a blueprint (cb-hdp26-hahbase-blueprint.json) that provides Namenode HA, Resourcemanager HA, Hive Metastore HA and Hive Server HA.

1,190 Views
Comments
avatar
Explorer

hey i think config is missing port for quorum , following is the working snippet ,

{
"hbase-site": {
"properties": {
"hbase.zookeeper.property.clientPort": "2181",
"hbase.zookeeper.quorum": "%HOSTGROUP::master_nn1%:2181,%HOSTGROUP::master_nn2%:2181,%HOSTGROUP::master_mgmt%:2181",
"hbase.zookeeper.useMulti": "true"}
}

}