HDFS_HA方案优缺点比较

原文:http://book.51cto.com/art/201205/339043.htm

《高可用性的HDFS-Hadoop分布式文件系统深度实践》

2012-05-29 11:31 文艾/王磊 清华大学出版社

HDFS HA方案比较

方案名称 切换时间 元数据一致性 是否做checkpoint 使用复杂度 成熟度 相关资料
元数据备份 一致 较多
"Secondary            
NameNode" 不一定 较多
Checkpoint Node 不一定 较少
Backup Node 一致 较少
DRDB 一致
AvatarNode 一致

其中"元数据备份方案"不能单独使用,因为在系统运行期间,没有相应的Checkpoint机制,会造成日志的无限制增长,因此需要和Secondary NameNode、Checkpoint Node或Backup Node配合使用。

"DRDB方案"同样如此。

而对于Secondary NameNode、Checkpoint Node机制,它们只有Checkpoint的功能,而不能保存实时的元数据,因此需要在Namenode上配置元数据备份路径来保存实时元数据。

对于Backup Node,虽然它可以实时保存元数据,但为防止Backup Node成为一个单点,也需要在NameNode上配置元数据备份路径,保存在本地进行备份。

总结

元数据备份方案使用简单方便,在功能上可替代DRDB;

Backup Node是 Checkpoint Node的升级版,效率更高;

Secondary NameNode在低版本的Hadoop中就已存在。

因此用户实际上可选择的HA组合方案为:

这种方案适用于目前Hadoop 的所有版本,属于冷备,切换时间长。由于Secondary NameNode自身并不实时保存元数据,一旦NameNode上的元数据损坏,将无法恢复到最新的元数据,因此采用元数据备份机制,在NameNode上需要配置多个目录进行备份,常见的做法是再配置一个NFS节点,共享一个目录进行备份。

这种方案只有在0.21.0以上版本才支持,目前的实现只支持冷备,切换时间长,自身实时保存元数据,不需要NFS节点。

这种方案需要打Patch(补丁包),而且只支持特定的版本(0.20)或者使用FaceBook自身的Hadoop版本,切换时间短,需要一个NFS节点作为Active节点和Standby节点的数据交互节点。

总之,如果当前Hadoop的版本较低,同时也不允许升级版本的话,可以选择第1种方案;如果版本较新(在0.21.0以上),第2种方案优于第1种;如果对HA切换时间有严格要求的话,则需要选择第3种方案。第1种方案比较简单,资料较多,本书将不再说明,后面着重讲述第2种和第3种方案。