主备namenode
解决单点故障,主那么弄得对外提供服务,备namenode同步主namenode元数据,以待切换,所有datanode同时向两个namenode汇报数据块信息。
两种切换选择,手动切换:通过命令实现主备之间的切换,可以用hdfs升级等场合,自动切换:基于zookeeper自动实现
基于zookeeper自动切换方案,zk failover controller,监控namenode健康状态,并向zookeeper注册namenode,namenode挂掉后,zkfc为namenode竞争锁,或得zkfc锁的namenode变为active
任何一个namenode都要对应一个failovercontroller,zookeeper必须是奇数的,内部使用投票机制。