Articles in this section
Category / Section

How to avoid HBase services to bind on multi hosts?

2 mins read

When HBase clusters running on unusual networks as such as NAT cloud environments or physical machines with multiple IP's per network interface, it would be best practice to specify,

 

1. Which IP interface to which HBase master or region-server will bind and

2. What hostname HBase will advertise in Zookeeper both for a master or region-server process

 

In multihomed hosts you may face following error,

 

2016-06-29 20:09:36,006 ERROR [regionserver/host1.syncfusion.lan/172.x.x.x:60020] regionserver.HRegionServer: Master passed us a different hostname to use; was=host1.syncfusion.lan, but now=HOST1

 

In order to overcome this behavior, we need to force the HMaster to receive the hostname of the Region server by setting below property in hbase-site.xml.

 

<property>

    <name>hbase.regionserver.hostname</name>

    <value>HOSTNAME</value>

    <description>This config is for experts: don't set its value unless you really know what you are doing.

    When set to a non-empty value, this represents the (external facing) hostname for the underlying server.

    See https://issues.apache.org/jira/browse/HBASE-12954 for details. </description>

</property>

 

Note:

The hostname can be either fully qualified domain name(FQDN) or host name.

 

The above configuration can be done in cluster manager UI as follows.

 

Step 1: Go to configuration from Administration menu and select HBase.

 

 

Step 2: Select each region servers one by one and add the property in hbase-site.xml

 

 

Step 3: Save the changes and restart the HBase services.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied