[ https://issues.apache.org/jira/browse/HDFS-16188?focusedWorklogId=645551&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-645551 ]
ASF GitHub Bot logged work on HDFS-16188: ----------------------------------------- Author: ASF GitHub Bot Created on: 01/Sep/21 20:25 Start Date: 01/Sep/21 20:25 Worklog Time Spent: 10m Work Description: goiri commented on a change in pull request #3346: URL: https://github.com/apache/hadoop/pull/3346#discussion_r700548545 ########## File path: hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/NamenodeHeartbeatService.java ########## @@ -120,40 +146,59 @@ protected void serviceInit(Configuration configuration) throws Exception { String nnDesc = nameserviceId; if (this.namenodeId != null && !this.namenodeId.isEmpty()) { - this.localTarget = new NNHAServiceTarget( - conf, nameserviceId, namenodeId); nnDesc += "-" + namenodeId; } else { this.localTarget = null; } + if (originalNnId == null) { + originalNnId = namenodeId; + } // Get the RPC address for the clients to connect - this.rpcAddress = getRpcAddress(conf, nameserviceId, namenodeId); - LOG.info("{} RPC address: {}", nnDesc, rpcAddress); + this.rpcAddress = getRpcAddress(conf, nameserviceId, originalNnId); // Get the Service RPC address for monitoring this.serviceAddress = - DFSUtil.getNamenodeServiceAddr(conf, nameserviceId, namenodeId); + DFSUtil.getNamenodeServiceAddr(conf, nameserviceId, originalNnId); if (this.serviceAddress == null) { LOG.error("Cannot locate RPC service address for NN {}, " + "using RPC address {}", nnDesc, this.rpcAddress); this.serviceAddress = this.rpcAddress; } - LOG.info("{} Service RPC address: {}", nnDesc, serviceAddress); // Get the Lifeline RPC address for faster monitoring this.lifelineAddress = - DFSUtil.getNamenodeLifelineAddr(conf, nameserviceId, namenodeId); + DFSUtil.getNamenodeLifelineAddr(conf, nameserviceId, originalNnId); if (this.lifelineAddress == null) { this.lifelineAddress = this.serviceAddress; } - LOG.info("{} Lifeline RPC address: {}", nnDesc, lifelineAddress); // Get the Web address for UI this.webAddress = - DFSUtil.getNamenodeWebAddr(conf, nameserviceId, namenodeId); + DFSUtil.getNamenodeWebAddr(conf, nameserviceId, originalNnId); + + if (resolvedHost != null) { + // Get the addresses from resolvedHost plus the configured ports. + rpcAddress = resolvedHost + ":" + + rpcAddress.split(":")[1]; Review comment: Try to use something from NetUtils that doesn't open a socket and if it's not there create a method for extractPort or something. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 645551) Time Spent: 3h 40m (was: 3.5h) > RBF: Router to support resolving monitored namenodes with DNS > ------------------------------------------------------------- > > Key: HDFS-16188 > URL: https://issues.apache.org/jira/browse/HDFS-16188 > Project: Hadoop HDFS > Issue Type: Improvement > Components: rbf > Reporter: Leon Gao > Assignee: Leon Gao > Priority: Minor > Labels: pull-request-available > Time Spent: 3h 40m > Remaining Estimate: 0h > > We can use a DNS round-robin record to configure list of monitored namenodes, > so we don't have to reconfigure everything namenode hostname is changed. For > example, in containerized environment the hostname of namenode/observers can > change pretty often. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org