Skip to main content
lokeshbabu6
Silver ⭐️⭐️
January 23, 2019
Solved

namenode down?

Hi All, If user connected Namenode through Gatewaynode, suddenly namenode goesdown, after few seconds standbynode became active node.

After that standby namenode became active namenode,he can able to access without getting downtime

after connecting to namenode which ip address he can able to see?

Shelton
SheltonAnswer
Gold ⭐️⭐️⭐️
January 24, 2019

@Lokesh Mukku

In a Namenode HA there is no notion of IP address but Nameservice ID (geeklab)as illustrated in the screenshot. In the background, geeklab will be doing something like load balancing between (nn01,nn02) whichever is the Active at a particular time, for example, if nn01 is the active NN and all over a sudden it encounters an issue and goes down, the ZKFailoverController will detect that failure through the heartbeat misses and transparently failover to nn02. The Nameservice ID is used to avoid hard-coding the IP's in case you change the host during an upgrade or system failure.

I gave you the example of DNS to explain it further..www.teamworks.com is a DNS entry used to resolve hostnames to a specific IP of the teamworks.com web server to machine-readable IP addresses (e.g. 192.168.106.81) behind the scenes www.teamworks.com to guard against any failure could have a couple of web servers (HA setup ) say 3 web servers serving content for www.teamworks.com with a load balancer (see screenshot LB.png) which act like the Nameservice ID in case a namenode/web server goes down the cluster/website will still be available as Nameservice ID will automatically failover point to the active name node controlled by ZKFailoverController .

HTH


lb.png
namenode-ha.png

5 replies

Shelton
Gold ⭐️⭐️⭐️
January 24, 2019

@Lokesh Mukku

The sequence of events you described is correct. The failover should be transparently handled by the ZKFailoverController .

HA clusters use the nameservice ID (dfs.nameservices in hdfs-site.xml) to identify a single HDFS instance that may consist of multiple HA NameNodes. The nameservice ID acts like a DNS for further reading see this HW document

HTH

Translate
lokeshbabu6
Silver ⭐️⭐️
January 24, 2019

Thanks for your ans... Still confusing ?

Translate
Shelton
SheltonAnswer
Gold ⭐️⭐️⭐️
January 24, 2019

@Lokesh Mukku

In a Namenode HA there is no notion of IP address but Nameservice ID (geeklab)as illustrated in the screenshot. In the background, geeklab will be doing something like load balancing between (nn01,nn02) whichever is the Active at a particular time, for example, if nn01 is the active NN and all over a sudden it encounters an issue and goes down, the ZKFailoverController will detect that failure through the heartbeat misses and transparently failover to nn02. The Nameservice ID is used to avoid hard-coding the IP's in case you change the host during an upgrade or system failure.

I gave you the example of DNS to explain it further..www.teamworks.com is a DNS entry used to resolve hostnames to a specific IP of the teamworks.com web server to machine-readable IP addresses (e.g. 192.168.106.81) behind the scenes www.teamworks.com to guard against any failure could have a couple of web servers (HA setup ) say 3 web servers serving content for www.teamworks.com with a load balancer (see screenshot LB.png) which act like the Nameservice ID in case a namenode/web server goes down the cluster/website will still be available as Nameservice ID will automatically failover point to the active name node controlled by ZKFailoverController .

HTH


lb.png
namenode-ha.png
Translate
lokeshbabu6
Silver ⭐️⭐️
January 25, 2019

Thanks for nice explanation, Now i got clear idea on NameNode High Availability

Translate
Shelton
Gold ⭐️⭐️⭐️
January 25, 2019

@Lokesh Mukku

Good to know it has given you a better understanding. If you found this answer addressed your question, please take a moment to log in and click the "accept" link on the answer.

That would be a great help to Community users to find the solution quickly for these kinds of errors.

Happy hadooping !!!!!

Translate