hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18226) Disable reverse DNS lookup at HMaster and use default hostname provided by RegionServer
Date Sun, 18 Jun 2017 02:22:03 GMT

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

Mime
View raw message