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