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

Ted Yu commented on HBASE-18226:
--------------------------------

{code}
+    When set to true, regionserver will use the current node hostname for the 
servername and HMaster will skip reverse DNS lookup and use the hostname sent 
by regionserver.
{code}
Wrapping long line would make the description more readable.
Adding little more background in the above paragraph (mentioning /etc/hosts 
e.g.) would allow people to understand better.
{code}
+    <name>hbase.regionserver.hostname.auto</name>
{code}
Can you come up with better name ?
When reverse DNS is enabled, resolution is also automatic.
How about hbase.regionserver.hostname.from.etc.hosts ?
{code}
+  // use the hostname from regionserver node /etc/hosts, 
hbase.regionserver.hostname will be
+  // overwritten if users specify it in hbase-site.xml.
{code}
Suggest throwing exception if both hbase.regionserver.hostname and the new 
config are specified since they target different deployments.

Is it possible to add unit test ?
See if this gives you some clue: https://github.com/tdomzal/junit-docker-rule

> 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, HBASE-18226.002.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 
> RegionServerStartupRequest. 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