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