`

HDFS v2 HA方案对比

阅读更多

Apache提供了两种HDFS v2 的HA方案。HA的具体实现和使用方式本文就不赘述了,可以参考以下链接:

HA with NFS 

HA with QJM

CDH(Cloudera的Hadoop发行版)在早期的版本中只支持HA with NFS方案。自CDH4.1起,增加对HA with QJM的支持。QJM由Cloudera设计,并已经merge到Hadoop的TRUNK(HDFS-3077)。

 

本文旨在对比两种HA方案,为HA选型提供帮助。我们假定读者已经对HDFSv2有一定的了解,对于HDFSv1 HA了解与否并不会影响对本文的理解,因为v2的HA方案和v1的诸多HA实现有相当的差别。

 

首先我们来罗列两者的共同点:

  • 都是热备方案
  • 都是一个active Namenode(NN)和一个standby NN
  • 使用Zookeeper(ZK) quorum和ZKFC来实现自动失效恢复。
  • 在失效恢复时都需要配置fencing方法来fence active NN

接着,罗列参与HA的不同角色:

HDFS with NFS

  • NN
  • HA NFS (共享数据变更存储)
  • ZK
  • ZKFailoverController process

HDFS with  JQM

  • NN
  • JournalNode
  • ZK
  • ZKFailoverController process

罗列两方案与HDFSv1诸多HA方案的不同点

  • 大部分的HDFS v1 HA方案都是冷备,尽管也有少数v热备方案,但配置起来是不是感觉特“爽”...
  • 提供例行维护的NN切换。这是v1绝大部分方案所不具备的。

 

罗列两方案的不同点:

共享数据方式不同。

  • HA with NFS方案是共享变更的一种方案。active NN 和 standby NN需要共享一个存储目录。active NN会把数据变更日志保存在该目录内,standby NN则监视更新,并保持数据同步。为了快速切换NN,DataNode(DN)需要知道两个NN的地址,并把块信息和心跳包发送给active和standby这两个NN。此外,为了保证active NN挂了以后不再有新数据写入,Fencing逻辑在确认active NN挂了以后会切断所有与原active NN的连接。

 

HA with NFS存在一些限制

1. HA能力NFS方案目前只支持一个数据变更共享目录,导致HA能力受限于该目录
2. 为了防止共享目录的单点失效,对共享目录有额外的要求,比如冗余的硬盘、网络和电源等。NFS共享目录所在的设备要求是高可靠性,官方推荐NAS。
3. NFS方式部署更为复杂。除了基本配置复杂外,上述第二点也够麻烦的。


To be continued...

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics