hadoop解决单点故障问题主要是通过两种方式:
1、NFS文件共享
2、QJM 方式 CLOUDERA提出的
在Hadoop2.x中有两个nn,一个是 active namenode状态是active,另一个是standy namenode 状态是standy两者是进行切换的,但是有且只有一个active!
nfs方式是重量级的需要单独部署维护的,他作为namenode和standy namenode之间数据共享的存储,缺点是如果active 那么node 或者standy namenode有一个和nfs之间发生网络故障,将会造成数据同步问题。
QJM方式解决了nfs面临的问题,active namenode和standy namenode 之间通过一组journalnode奇数来共享数据,active nn 把最近的edits文件写到2n+1个journalnode只有n+1个写入成功,然后standy nn 就开始读取,这种方式支持容错!