[ 
https://issues.apache.org/jira/browse/HBASE-18226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Xu updated HBASE-18226:
---------------------------
    Description: 
This JIRA is to address the similar problem as HBASE-12954, but there are some 
little differences,

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.

  was:
This JIRA is to address the similar problem as HBASE-12954, but there are some 
little differences,

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.


> 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
>            Priority: Minor
>
> This JIRA is to address the similar problem as HBASE-12954, but there are 
> some little differences,
> 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
(v6.4.14#64029)

Reply via email to