hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Xu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18226) Disable reverse DNS lookup at HMaster and use default hostname provided by RegionServer
Date Sat, 17 Jun 2017 00:26:01 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16052574#comment-16052574

Duo Xu commented on HBASE-18226:


Sorry for the confusion. Let me explain more clearly.

1.  HBASE-12954 provided a configuration called "hbase.regionserver.hostname" so users can
use whatever hostname they preferred for each regionserver/node. That means each regionserver/node
needs a different copy of hbase-site.xml. Because the value of "hbase.regionserver.hostname"
is different for different nodes. Ambari or any other configuration management tool does not
support to set different values of a setting on different nodes. Thus HBASE-12954 introduced
configuration does not work with any configuration management tool.

2. This JIRA intends to let RS uses the value returned by getHostName() rather than users
specify it and send it as part of RegionServerStartupRequest to HMaster, so HMaster will use
this hostname instead of doing reverse DNS lookup as some cloud environment does not provide
reverse DNS lookup for the VMs. This part has been implemented in HBASE-12954.

3. In Azure HDInsight clusters cloud setup, we want to give each regionserver node a FQDN
by modifying /etc/hosts on that node. In my testing, without modifying /etc/hosts (our current
setting), getHostName() will return IP of the VM, after adding the FQDN entry, it returns
the FQDN. However, since each VM's host file only contains itself FQDN entry, reverse DNS
lookup won't work on HMaster side to get the RS FQDN. This is the issue we want to resolve,
we do not want HMaster to do reverse DNS lookup.

So comparing with HBASE-12954, the goal is slightly different

HBASE-12954 provides users options to give whatever hostname they want to each regionserver
and disable reverse DNS lookup on HMaster side. Configuration management tools will not support
this configuration because each node needs a different value.

This JIRA provides users options to use the value returned by getHostName(), which is the
current default option in HBase, to HMaster and disable reverse DNS lookup on HMaster side
(without this patch, it will do reverse DNS lookup). Configuration management tools will support
this configuration because it is a true/false value, users do not need to explicitly set the
hostname for each node.

> Disable reverse DNS lookup at HMaster and use default hostname provided by RegionServer
> ---------------------------------------------------------------------------------------
>                 Key: HBASE-18226
>                 URL: https://issues.apache.org/jira/browse/HBASE-18226
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Duo Xu
>         Attachments: HBASE-18226.001.patch
> This JIRA is to address the similar problem as HBASE-12954, but there are some little
> 1. HBASE-12954 provides the configuration "hbase.regionserver.hostname" so users can
configure it on every regionserver with preferred hostnames. However, this configuration cannot
be set through Ambari because each regionserver has a different value of this setting.
> 2. In Azure HDInsight clusters, we want to give each RegionServer/workernode a FQDN by
modifying /etc/hosts on that node, then when regionserver starts, 
> {code}
> String hostName = shouldUseThisHostnameInstead() ? useThisHostnameInstead :
>       rpcServices.isa.getHostName();
> {code}
> it uses FQDN names here but on HMaster side, it will do reverse DNS lookup which cannot
be resolved.
> {code}
>  // if regionserver passed hostname to use,
>  // then use it instead of doing a reverse DNS lookup
>  ServerName rs = master.getServerManager().regionServerStartup(request, ia);
> {code}
> My proposed fix is to add a new configuration "*hbase.regionserver.hostname.auto*". If
it is set to true, then Regionserver will use the value returned by *rpcServices.isa.getHostName()*
as the hostname overwriting whatever users specifies in "*hbase.regionserver.hostname*" and
send to HMaster. HMaster will not do reverse DNS lookup, which has been implemented in HBASE-12954.
If users want to provide their own hostnames in "*hbase.regionserver.hostname*", "*hbase.regionserver.hostname.auto*"
must be false.
> I will submit a patch later today.

This message was sent by Atlassian JIRA

View raw message