Dhruba Borthakur wrote:
A good way to implement failover is to make the Namenode log transactions to
more than one directory, typically a local directory and a NFS mounted
directory. The Namenode writes transactions to both directories
synchronously.

If the Namenode machine dies, copy the fsimage and fsiedits from the NFS
server and you will have recovered *all* committed transactions.

The SecondaryNamenode pulls the fsimage and fsedits once every configured
period, typically ranging from a few minutes to an hour. If you use the
image from the SecondaryNamenode, you might lose the last few minutes of
transactions.

That's a good idea. But then, what's the purpose of running a secondary namenode, if it can't guarantee that the data loss is minimal ??? Should't edits be written synchronously to a secondary namenode, and fsimage updated synchronously whenever a primary namenode performs a checkpoint?


--
Best regards,
Andrzej Bialecki     <><
 ___. ___ ___ ___ _ _   __________________________________
[__ || __|__/|__||\/|  Information Retrieval, Semantic Web
___|||__||  \|  ||  |  Embedded Unix, System Integration
http://www.sigram.com  Contact: info at sigram dot com

Reply via email to