Hadoop2.0 NameNode HA和Federation简明理解

引子

为什么需要 NameNode HA 和 Federation ?

1. 规避NameNode单点故障,secondary namenode只是定期做checkpoints,无法保证数据完整性,当nn失效时无法即时顶替;

2. 随集群规模扩大,NameNode内存出现瓶颈,Federation作用是“扩容”


架构原理


NameNode HA实现方式:

1. 有主备NameNode,分别在active和standby模式。两者有共享存储、datanode同时向两个nn报告,保证数据一致性。

2. Zookeeper集群(逻辑上与Hadoop集群独立)实现同步锁,监控nn

3. ZKFC实现的FailoverController进程(必须在nn上,与ZK集群心跳通信,一般2000ms)

Federation实现方式:

1. 多个nn共用一个集群内所有dn的资源,每个NN可以单独对外提供服务

2. 每个NN上有一个block pool,有单独的ID,每个DN会为所有block pool提供存储

3. DN按照block pool ID向对应的NN汇报块信息

4. 通过客户端挂载表将不同目录挂在不同NN上

好处:

1. 改动最小,前向兼容。NN无配置改动,只是横向扩容;客户端可以只连接一个NN,无需修改配置。

2. 分离了 namespace 和 块存储管理:DN资源得到充分利用,可以向多个NN提供服务

3. 客户端挂载表:通过路径自动对应NN,使Federation配置对应用透明

<未完待续>

还有配置项说明

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容