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