[
https://issues.apache.org/jira/browse/HBASE-18226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duo Xu updated HBASE-18226:
---------------------------
Description:
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.
was:
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.hmaster.skip.reverse.dns.lookup". This is a hard switch. 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.hmaster.skip.reverse.dns.lookup" must be false.
I will submit a patch later today.
> 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
> Priority: Minor
>
> 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)