【HadoopHA】HadoopHA的介绍 大数据提升之路

目录

介绍

Namenode HA

Yarn HA


  • 介绍

HA(High Available), 高可用,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,分为活动节点(Active)及备用节点(Standby)。通常把正在执行业务的称为活动节点,而作为活动节点的一个备份的则称为备用节点。当活动节点出现问题,导致正在运行的业务(任务)不能正常运行时,备用节点此时就会侦测到,并立即接续活动节点来执行业务。从而实现业务的不中断或短暂中断。

Hadoop1.X版本,NN是HDFS集群的单点故障点,每一个集群只有一个NN,如果这个机器或进程不可用,整个集群就无法使用。为了解决这个问题,出现了一堆针对HDFS HA的解决方案(如:Linux HA, VMware FT, shared NAS+NFS, BookKeeper, QJM/Quorum Journal Manager, BackupNode等)。

在HA具体实现方法不同情况下,HA框架的流程是一致的, 不一致的就是如何存储、管理、同步edits编辑日志文件

在Active NN和Standby NN之间要有个共享的存储日志的地方,Active NN把edit Log写到这个共享的存储日志的地方,Standby NN去读取日志然后执行,这样Active和Standby NN内存中的HDFS元数据保持着同步。一旦发生主从切换Standby NN可以尽快接管Active NN的工作。

 

单点问题: 集群中含有NN和SNN,由于SNN只负责辅助NN进行FSimage和日志的合并,不能作为热备份。当NN宕机时集群将无法对外提供服务,客户找不到数据。

SNN有备份的日志和镜像,但是在恢复过程中需要时间,这个阶段集群依然无法对外提供服务。HadoopHA就是解决这个问题的。

 

  • Namenode HA

高可用方案中NN(NameNode)有两个,一个是Active状态,表示正在对外提供服务的,活跃的NN(NameNode)。一个是StandBy状态,不是对外提供服务的,随时准备替换ActiveNN。

 

ZKFailoverController:监控NN所在节点的硬件设备、软件(NN)、操作系统。同时维护与ZK(zookeeper)的通信。HA方案中只有两个NN(NameNode),每个NN(NameNode)都有一个ZKFC(ZKFailoverController)。

 

NN (NameNode)Active 状态和StandBy状态的确认:两个NN(NameNode)到ZK集群注册一个临时的ZNode,哪个先注册成功,哪个就是Active,另外一个就是StandBy.

 

StandBy NN如何替换故障的Active NN:

ActiveNN节点故障  > ActiveZKFC通知ZK删除临时ZNode > StandBy状态的ZKFC订阅这个临时ZNode的变换,若ZNode消失,立刻通知StandBy NN  >  StandBy NN 远程登录NN,执行Kill -9 ActiveNN  > StandBy NN通知StandBy ZKFC去ZK上注册临时ZNode。

 

元数据信息如何实现快速同步:

JournalNode(JN) :高效的存储系统,能够实现数据的超快速写入与读取。JN是一个小集群(小的文件系统)。节点数需要是奇数台(1、3、5)

ActiveNN实时将FSimage和日志接入JN。StandByNN实时获取JN内部的数据,实现两个节点的实时元数据同步。

 

  • Yarn HA

Yarn作为资源管理系统,是上层计算框架(如MapReduce,Spark)的基础。在Hadoop 2.4.0版本之前,Yarn存在单点故障(即ResourceManager存在单点故障),一旦发生故障,恢复时间较长,且会导致正在运行的Application丢失,影响范围较大。从Hadoop 2.4.0版本开始,Yarn实现了ResourceManager HA,在发生故障时自动failover,大大提高了服务的可靠性。

ResourceManager(简写为RM)作为Yarn系统中的主控节点,负责整个系统的资源管理和调度,内部维护了各个应用程序的ApplictionMaster信息、NodeManager(简写为NM)信息、资源使用等。由于资源使用情况和NodeManager信息都可以通过NodeManager的心跳机制重新构建出来,因此只需要对ApplicationMaster相关的信息进行持久化存储即可。

在一个典型的HA集群中,两台独立的机器被配置成ResourceManger。在任意时间,有且只允许一个活动的ResourceManger,另外一个备用。切换分为两种方式:

手动切换:在自动恢复不可用时,管理员可用手动切换状态,或是从Active到Standby,或是从Standby到Active。

自动切换:基于Zookeeper,但是区别于HDFS的HA,2个节点间无需配置额外的ZFKC守护进程来同步数据。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值