[ 
https://issues.apache.org/jira/browse/HDFS-14079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16689939#comment-16689939
 ] 

CR Hota commented on HDFS-14079:
--------------------------------

[~surendrasingh] Thanks for reporting this. Internally I am trying to work on a 
failover solution that is DNS based. Overall the approach is to hide 'N' 
routers behind a single dns and handle randomization in the proxyfailover 
layer. To begin with, this works fine without health checks till the ideal 
solution based on health check is built and stabilized. Helps hide all router 
endpoints and also add/remove routers easily.

Example dns we use that hides 8 different router instances.
{code:java}
crh-C02TC2FQG8WL:hadoop crh$ nslookup hdfs-router.dca1.uber.internal.
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   hdfs-router.dca1.uber.internal
Address: 10.14.130.151
Name:   hdfs-router.dca1.uber.internal
Address: 10.20.139.168
Name:   hdfs-router.dca1.uber.internal
Address: 10.18.142.29
Name:   hdfs-router.dca1.uber.internal
Address: 10.16.7.170
Name:   hdfs-router.dca1.uber.internal
Address: 10.20.134.4
Name:   hdfs-router.dca1.uber.internal
Address: 10.19.131.147
Name:   hdfs-router.dca1.uber.internal
Address: 10.14.131.20
Name:   hdfs-router.dca1.uber.internal
Address: 10.20.11.40

{code}
 

 

> RBF: RouterAdmin should have failover concept for router
> --------------------------------------------------------
>
>                 Key: HDFS-14079
>                 URL: https://issues.apache.org/jira/browse/HDFS-14079
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>    Affects Versions: 3.1.1
>            Reporter: Surendra Singh Lilhore
>            Assignee: Surendra Singh Lilhore
>            Priority: Major
>
> Currenlty {{RouterAdmin}} connect with only one router for admin operation, 
> if the configured router is down then router admin command is failing. It 
> should allow to configure all the router admin address.
> {code}
>     // Initialize RouterClient
>     try {
>       String address = getConf().getTrimmed(
>           RBFConfigKeys.DFS_ROUTER_ADMIN_ADDRESS_KEY,
>           RBFConfigKeys.DFS_ROUTER_ADMIN_ADDRESS_DEFAULT);
>       InetSocketAddress routerSocket = NetUtils.createSocketAddr(address);
>       client = new RouterClient(routerSocket, getConf());
>     } catch (RPC.VersionMismatch v) {
>       System.err.println(
>           "Version mismatch between client and server... command aborted");
>       return exitCode;
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to