`

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...

分享到:
评论

相关推荐

    08-Hadoop-HA.pdf

    Hadoop HA(高可用性)是为了解决单点故障的问题而提出的解决方案,它允许Hadoop的关键组件(如NameNode)在多个节点之间进行故障转移,以保证整个系统的稳定运行。Hadoop HA的思维导图可以帮助用户系统地理解Hadoop...

    Hadoop2.4.tgz下载

    1. **HDFS HA(High Availability)**:支持主动/被动的NameNode热备,增强了系统的稳定性。 2. **HDFS Federation**:允许多个独立的命名空间并存,提高了NameNode的可扩展性。 3. **Block Placement Policy**:...

    Hadoop 2.0部署配置文件示例.zip

    2. HDFS HA(High Availability):为了解决NameNode单点故障问题,Hadoop 2.0实现了NameNode高可用,通过热备机制确保服务不间断。 3. 更强的容错性和可扩展性:通过改进的数据节点心跳机制和快速失败检测,Hadoop...

    Hadoop-CCAH攻略,大数据平台必备文件

    - **HDFS HA-Quorum集群的组件和守护进程** - 在HA配置下,通常包括两个NameNode和一个Quorum集群(例如ZooKeeper服务),用于协调主备切换过程。 - Quorum集群确保即使部分节点失败也能正确执行主备切换。 - **...

    spark 安装所需包1.zip

    2. **HDFS HA**:高可用性(HA)特性,支持 NameNode 的热备,确保服务不间断。 3. **HDFS Federation**:通过多NameNode 分区,提高了HDFS的可扩展性和管理能力。 4. **MapReduce v2 (MRv2)**:新的 MapReduce 框架...

    hadoop.dll 和 winutils.exe

    2. **HDFS HA(高可用性)和 Federation**:HDFS的高可用性允许NameNode的热备,避免单点故障;Federation则将大型命名空间分割为多个子命名空间,提高可扩展性。 3. **Erasure Coding**:作为数据冗余的一种方式,...

    hadoop2.3.0-64位编译完成包(3)

    - **HA Namenode**:高可用(High Availability, HA)Namenode特性在2.3.0中更加成熟,通过NameNode failover controller确保了主NameNode故障时的平滑切换。 - **Erasure Coding**:虽然在2.3.0中可能还未默认...

    hadoop的winutils.exe和dll

    - HDFS的高可用性也在这个版本中得到了加强,通过NameNode的HA实现,可以避免单点故障。 总结来说,`winutils.exe`是Hadoop在Windows平台上的关键工具,它使得开发者能够在Windows环境下进行Hadoop相关的开发和...

    hadoop 3.1.4

    1. **NameNode HA(High Availability)**:增强了 NameNode 的高可用性,通过热备机制确保了即使主 NameNode 故障,系统仍能继续运行,降低了服务中断的风险。 2. **Erasure Coding**:引入了一种新的数据冗余策略...

    hadoop2.8.2安装的配置文件

    另外,对于高可用性(HA)的Hadoop集群,还需要在此配置NameNode的备用节点地址。 3. **mapred-site.xml**: MapReduce是Hadoop处理大数据的主要计算框架,mapred-site.xml则定义了MapReduce作业的运行方式。重要的...

    hadoop.dll,winutils.exe,2.6.0

    以及HDFS的增强,如HA(High Availability)和 Federation特性,提升了系统的可用性和扩展性。 4. **Windows上的Hadoop安装**: 在Windows上安装Hadoop可能比在Linux上更为复杂,因为需要处理与Linux环境不同的...

    Hadoop Blueprints

    - **Hadoop HA**:通过在集群中部署多个NameNode来防止单点故障,其中一个NameNode作为主动节点,其他NameNode作为被动节点,当主节点出现故障时,被动节点可以快速接管。 - **检查点过程**:为了减少NameNode重启...

    Hadoop YARN 基本架构和发展趋势 - d.pdf

    2. **高可用性 (HA)**:为了解决单点故障,ResourceManager正在实现基于ZooKeeper的HA解决方案,以提供更稳定的运行环境。 3. **容器化和轻量化**:YARN逐渐支持更轻量级的容器,使得更多类型的工作负载(如微服务、...

    YARN Essentials.PDF

    MapReduce v1 与 MapReduce v2 的对比:** - **API 变更:** MRv2 提供了新的 API,允许开发者编写更复杂的应用程序。 - **向后兼容性:** MRv2 保持了与旧版 MapReduce API 的二进制兼容性,以确保现有应用程序...

Global site tag (gtag.js) - Google Analytics