[ 
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:
--------------------------------

[~esteban]

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 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