I'm currently evaluating Hadoop 1.0.2 for an in-house project.
The Hadoop docs say that<blockquote>
<a href="http://hadoop.apache.org/common/docs/current/hdfs_user_guide.html#Secondary+NameNode" rel="nofollow">The Secondary NameNode has been deprecated. Instead, consider using the Checkpoint Node or Backup Node</a></blockquote>
There is information on what the three options <em>are</em> and what they <em>do</em>, but I'm having trouble finding information on which of the three options is <em>recommended</em> in which situations.Answer1:
Basically the checkpoint node is a new implementation of the secondary name node and the backup point is an interim release on the way to a warm-standby for the namenode (plus it can currently offer a small performance boost by separating reads and writes - reads in the name node and writes in the backup node
from the <a href="https://issues.apache.org/jira/browse/HADOOP-4539" rel="nofollow">Backupnode documentation</a> as explained by Konstantin Shvachko :<blockquote>
This patch introduces two new types of name-nodes: a Checkpoint node and a Backup node.<ul><li>The role of the Checkpoint node to checkpoint name-node meta-data by merging image and edits files.</li> <li>The Backup node extends functionality of the Checkpointer by that it can receive online updates of the file system meta-data, apply them to its memory state and persist them on disks just like the name-node does. Thus at any time the Backup node contains an up-to-date image of the namespace both in memory and on local disk(s). This also results in much more efficient checkpointing because backup node does not need to transfer files from the active name-node and does not need to replay (merge) edits.</li> <li>The Term Standby node is reserved for further extension of the backup node functionality, when cluster will be able to switch over to the new name-node if the active dies. This is mentioned in the "Warm standby provision" section of the design document.</li> </ul>
Typical use cases:<ol><li>Run Checkpoint node only to create checkpoints. This should be used instead of the current SecondaryNameNode, which is deprecated by the patch. I reused a lot of the SecondaryNameNode code so this effort was not wasted, it just evolved.</li> <li>Run Backup node to support online streaming of edits and efficient checkpointing. This particularly targets eliminating NFS as a remote storage for edits.</li> <li>Run NameNode without persistent storage at all and delegate all "persisting" functionality to the Backup node. The trick here is to start name-node with -importCheckpoint option and then run the Backup node.</li> </ol></blockquote>