Hadoop 的 Namenode 单点问题一直广受诟病,而这个问题最近将会得到解决,对Namenode 的HA方案已经完成实施并合并到主干,经过严格的测试后将会在后续版本中发布。
HA方案中,主要进行了如下的一些工作:
- Configuration changes for HA
- Notion of active and standby states were added to the Namenode
- Client-side redirection
- Standby processing journal from Active
- Dual block reports to Active and Standby
其主要原理是将NameNode分为两种角色,Active和Standby,Active就是正在进行服务的NameNode,而Standby又分三种情况
- Cold Standby:是当Active NN已经挂掉后才起来的,它本身没有保存任何数据,这时候并不会减少恢复时间
- Warm Standby:是在Active NN挂掉前起来的,其中保存了一部分数据,所以在恢复时只需要恢复没有的数据,减少了恢复时间
- Hot Standby:它里面保存的数据和Active是完成一样的,可以直接热切换到它上面继续服务