[ 
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 or other configuration 
management tools because each regionserver has a different value of this 
setting, which means each node needs a different hbase-site.xml.

2. In Azure HDInsight clusters, we want to give each RegionServer/workernode a 
FQDN by modifying /etc/hosts on that node. We do not want HMaster to do reverse 
DNS lookup because HMaster VM's /etc/hosts does not have regionserver VM's FQDN 
mappings. In current implementation 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 as part of . 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 or other configuration 
management tools because each regionserver has a different value of this 
setting, which means each node needs a different hbase-site.xml.

2. In Azure HDInsight clusters, we want to give each RegionServer/workernode a 
FQDN by modifying /etc/hosts on that node. We do not want HMaster to do reverse 
DNS lookup because HMaster VM's /etc/hosts does not have regionserver VM's FQDN 
mappings. In current implementation 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
>         Attachments: HBASE-18226.001.patch
>
>
> 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 or other 
> configuration management tools because each regionserver has a different 
> value of this setting, which means each node needs a different hbase-site.xml.
> 2. In Azure HDInsight clusters, we want to give each RegionServer/workernode 
> a FQDN by modifying /etc/hosts on that node. We do not want HMaster to do 
> reverse DNS lookup because HMaster VM's /etc/hosts does not have regionserver 
> VM's FQDN mappings. In current implementation 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 as part of . 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