没有namenode,文件系统将无法使用。事实上,如果运行namenode服务的机器毁坏,文件系统上所有的文件将会丢失,因为我们不知道如何根据datanode的块重建文件。
第一种容错方式
备份那些组成文件系统元数据持久状态的文件。Hadoop可以通过配置使namenode在多个文件系统上保存元数据的持久状态。这些写操作是实时同步的,且是原子操作。一般的配置是,将持久状态写入本地磁盘的同时,写入一个远程挂载的网络文件系统(NFS)
第二种容错方式
使用SecondaryNamenode,它用来辅助namenode,它的重要作用是定期合并编辑日志与命名空间镜像,以防止编辑日志过大。他不能完全代替namenode,因为SecondaryNamenode永远比namenode少一截,永远要滞后namenode,因为他合并的编辑日志是namenode产生的,他在合并的时候,namenode正在产生新的编辑日志。