Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

How does nameservice id works for HA, how does it resolve active NameNode?

Solved Go to solution
Highlighted

How does nameservice id works for HA, how does it resolve active NameNode?

New Contributor

As client has nothing to do which namenode is active, nameservice automatically transfers client requests to active namenode. So how does it resolve which NN is active.

1 ACCEPTED SOLUTION

Accepted Solutions

Re: How does nameservice id works for HA, how does it resolve active NameNode?

Champion

The client does not know which is active / standy namenode it will only usess dfs.nameservices . 

DFS Client will determine which NameNode is the current Active, by using the either of the java classess which ever is implemented  ConfiguredFailoverProxyProvider and the RequestHedgingProxyProvider, then subsequently it will invoke the ids and followed by the host identification by using the properties in hdfs-site.xml ( please refer the below link for the properties .

 

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.ht...

View solution in original post

3 REPLIES 3
Highlighted

Re: How does nameservice id works for HA, how does it resolve active NameNode?

Champion

The pre-requistes of configuring HA is zookeeper and FailoverController . 

then you should provide the type of  fencing for proof of concept you can  use shell 

 

 dfs.ha.fencing.methods 

 znode in ZooKeeper will be used by failover controllers to keep track of the active and standby nodes, and start the failover controllers if necessary . However you can also perform manual failover for any maintance activity . 

 

 

 

Highlighted

Re: How does nameservice id works for HA, how does it resolve active NameNode?

New Contributor

Thanks for the response. But my question is how does nameservice id resolve the active namenode. Whenever a query is submitted, client has no idea about active namenode, nameservice id directs it to active namenode. so the question is how does it resolve the active one. To put it more simple how does name resolution works in HA.

Re: How does nameservice id works for HA, how does it resolve active NameNode?

Champion

The client does not know which is active / standy namenode it will only usess dfs.nameservices . 

DFS Client will determine which NameNode is the current Active, by using the either of the java classess which ever is implemented  ConfiguredFailoverProxyProvider and the RequestHedgingProxyProvider, then subsequently it will invoke the ids and followed by the host identification by using the properties in hdfs-site.xml ( please refer the below link for the properties .

 

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.ht...

View solution in original post

Don't have an account?
Coming from Hortonworks? Activate your account here