Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 0D727200CAC for ; Mon, 19 Jun 2017 21:02:11 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 0C7E3160BE1; Mon, 19 Jun 2017 19:02:11 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 52603160BCD for ; Mon, 19 Jun 2017 21:02:10 +0200 (CEST) Received: (qmail 74261 invoked by uid 500); 19 Jun 2017 19:02:08 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 74250 invoked by uid 99); 19 Jun 2017 19:02:08 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jun 2017 19:02:08 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id DC8131B0B4B for ; Mon, 19 Jun 2017 19:02:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id JH2OEuAbfFZh for ; Mon, 19 Jun 2017 19:02:06 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id B4BC55FDE2 for ; Mon, 19 Jun 2017 19:02:04 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id F31EFE0D51 for ; Mon, 19 Jun 2017 19:02:02 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id BD8D6240C4 for ; Mon, 19 Jun 2017 19:02:00 +0000 (UTC) Date: Mon, 19 Jun 2017 19:02:00 +0000 (UTC) From: "Duo Xu (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-18226) Disable reverse DNS lookup at HMaster and use default hostname provided by RegionServer MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 19 Jun 2017 19:02:11 -0000 [ https://issues.apache.org/jira/browse/HBASE-18226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16054599#comment-16054599 ] Duo Xu commented on HBASE-18226: -------------------------------- [~enis] Thanks for reviewing the patch. I can confirm that rDNS never works in our non-secure clusters. That's why you see our clusters are all using IPs as part of the servername. Yes, I built the server jar locally and replaced it on an Azure cluster and it was working fine. All the nodes are using FQDN instead of IP now. The change we are going to make in non-secure clusters is to add an entry in every node's /etc/hosts: {code} VM IP VM Full FQDN VM Name {code} In this way, we can get the FQDN name of the VM based on its IP. This capability is used for cleaning up orphan VMs which are not deleted successfully when users delete the cluster, not related to HBase actually. However, we saw this change breaking HBase. Because HMaster cannot do reverse DNS lookup and cannot return FQDN of RS, it returns IP as always. || ||RS see itself||HMASTER see RS|| |Before the /etc/hosts change|IP|IP| |After the /etc/hosts change|FQDN|IP| With the patch in this JIRA, we can set the configuration to true in our non-secure clusters so that HMaster side will use RS FQDN too. Regarding the configuration name, I came up with that name because by default the RegionServerStartupRequest does not include the RS hostname. Your suggested name is also OK to me. I will change it. > 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)