[
https://issues.apache.org/jira/browse/HBASE-18226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16054618#comment-16054618
]
Duo Xu edited comment on HBASE-18226 at 6/19/17 7:19 PM:
---------------------------------------------------------
[~elserj]
Yeah, it is hard to come up with an appropriate name because the setting is in
RS code but the reverse dns lookup happens on master code :)
Yes, nothing changes actually. All the protocol or major changes have been
implemented in HBASE-12954. This JIRA is reusing the "useThisHostnameInstead"
field in RegionServerStatusProtos and adding a new configuration to turn it
on/off. By default it is off, so it should not break anything.
Regarding how it works in Azure, see the table I replied above.
|| ||non-secure (default Azure environment)|| secure||
|reverse DNS|not supported|supported by adding a customized DNS server during
our deployment|
|forward DNS| supported|supported|
The symptom you see currently in our non-secure clusters, all the nodes are
using IP as the servername, that is due to rDNS is not supported.
was (Author: onpduo):
[~elserj]
Yeah, it is hard to come up with an appropriate name because the setting is in
RS code but the reverse dns lookup happens on master code :)
Yes, nothing changed actually. All the protocol or major changes have been
implemented in HBASE-12954. This JIRA is reusing the "useThisHostnameInstead"
field in RegionServerStatusProtos and adding a new configuration to turn it
on/off. By default it is off, so it should not break anything.
Regarding how it works in Azure, see the table I replied above.
|| ||non-secure (default Azure environment)|| secure||
|reverse DNS|not supported|supported by adding a customized DNS server during
our deployment|
|forward DNS| supported|supported|
The symptom you see currently in our non-secure clusters, all the nodes are
using IP as the servername, that is due to rDNS is not supported.
> 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,
> HBASE-18226.003.patch, HBASE-18226.004.patch
>
>
> Description updated:
> In some unusual network environment, forward DNS lookup is supported while
> reverse DNS lookup may not work properly.
> This JIRA is to address that HMaster uses the hostname passed from RS instead
> of doing reverse DNS lookup to tells RS which hostname to use during
> reportForDuty() . This has already been implemented by HBASE-12954 by adding
> "useThisHostnameInstead" field in RegionServerStatusProtos.
> Currently "useThisHostnameInstead" is optional and RS by default only passes
> port, server start code and server current time info to HMaster during RS
> reportForDuty(). In order to use this field, users currently need to specify
> "hbase.regionserver.hostname" on every regionserver node's hbase-site.xml.
> This causes some trouble in
> 1. some deployments managed by some management tools like Ambari, which
> maintains the same copy of hbase-site.xml across all the nodes.
> 2. HBASE-12954 is targeting multihomed hosts, which users want to manually
> set the hostname value for each node. In the other cases (not multihomed), I
> just want RS to use the hostname return by the node and set it in
> useThisHostnameInstead and pass to HMaster during reportForDuty().
> I would like to introduce a setting that if the setting is set to true,
> "useThisHostnameInstead" will be set to the hostname RS gets from the node.
> Then HMaster will skip reverse DNS lookup because it sees
> "useThisHostnameInstead" field is set in the request.
> "hbase.regionserver.hostname.reported.to.master", is it a good name?
> --------------------
> Regarding the hostname returned by the RS node, I read the source code again
> (including hadoop-common dns.java). By default RS gets hostname by calling
> InetAddress.getLocalHost().getCanonicalHostName(). If users specify
> "hbase.regionserver.dns.interface" or "hbase.regionserver.dns.nameserver" or
> some underlying system configuration changes (eg. modifying
> /etc/nsswitch.conf), it may first read from DNS or other sources instead of
> first checking /etc/hosts file.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)