Configuring Fault Tolerance
Also available as:
loading table of contents...

Preparing the Hardware Resources for NameNode High Availability

Make sure that you prepare the required hardware resources for High Availability.

  • NameNode machines: The machines where you run Active and Standby NameNodes, should have exactly the same hardware. .

  • JournalNode machines: The machines where you run the JournalNodes. The JournalNode daemon is relatively lightweight, so these daemons may reasonably be co- located on machines with other Hadoop daemons, for example the NameNodes or the YARN ResourceManager.


    There must be at least three JournalNode daemons, because edit log modifications must be written to a majority of JNs. This lets the system tolerate failure of a single machine. You may also run more than three JournalNodes, but in order to increase the number of failures that the system can tolerate, you must run an odd number of JNs (3, 5, 7, and so on).

    Note that when running with N JournalNodes, the system can tolerate at most (N - 1) / 2 failures and continue to function normally.

  • ZooKeeper machines: For automated failover functionality, there must be an existing ZooKeeper cluster available. The ZooKeeper service nodes can be co-located with other Hadoop daemons.

In an HA cluster, the Standby NameNode also performs checkpoints of the namespace state. Therefore, do not deploy a Secondary NameNode, CheckpointNode, or BackupNode in an HA cluster.