Hi,

you're correct when saying the namenode hosts the fsimage file and the edits 
log file.

The fsimage file contains a snapshot of the HDFS metadata (a filename to blocks 
list mapping). Whenever there is a change to HDFS, it will be appended to the 
edits file. Think of it as a database transaction log, where changes will not 
be applied to the datafile, but appended to a log.

To prevent the edits file growing infinitely, the secondary namenode 
periodically pulls these two files, and the namenode starts writing changes to 
a new edits file. Then, the secondary namenode merges the changes from the 
edits file with the old snapshot from the fsimage file and creates an updated 
fsimage file. This updated fsimage file is then copied to the namenode.

Then, the entire cycle starts again. To answer your question: The namenode has 
both files, even if the secondary namenode is running on a different machine.

Kai

Am 06.10.2011 um 07:57 schrieb shanmuganathan.r:

> 
> Hi All,
> 
>            I have a doubt in hadoop secondary namenode concept . Please 
> correct if the following statements are wrong .
> 
> 
> The namenode hosts the fsimage and edit log files. The secondary namenode 
> hosts the fsimage file only. At the time of checkpoint the edit log file is 
> transferred to the secondary namenode and the both files are merged, Then the 
> updated fsimage file is transferred to the namenode . Is it correct?
> 
> 
> If we run the secondary namenode in separate machine , then both machines 
> contain the fsimage file . Namenode only contains the editlog file. Is it 
> true?
> 
> 
> 
> Thanks R.Shanmuganathan  
> 
> 
> 
> 
> 
> 

-- 
Kai Voigt
[email protected]




Reply via email to