hadoopHA原理及其实现

HDFS存在的问题

①NameNode单点故障,难以应用于在线场景

②NameNode压力过大,且内存受限,影响系统扩展性

尤其是当这个namenode节点只有一个时,一旦发生故障,就算是立即重启也需要较长时间,那么这一段时间内系统无法工作;而且,单个namenode节点内存有限,使得datenode无法扩展。

Hadoop HA(High Available)

,为解决单点故障问题,提出Hadoop HA(High Available)通过同时配置两个处于Active/Passive模式的Namenode来解决上述问题,分别叫Active Namenode和Standby Namenode. Standby Namenode作为热备份,从而允许在机器发生故障时能够快速进行故障转移,同时在日常维护的时候使用优雅的方式进行Namenode切换。Namenode只能配置一主一备,不能多于两个Namenode

在这里插入图片描述组件:

active namenode

1.namenode的实时的完整的元数据存储在内存中;
2.namenode还会在磁盘中存储内存元数据在某个时间点上的镜像文件,fsimage:元数据镜像文件
3.namenode会把引起元数据变化的客户端操作记录在edits日志文件中,并且存入磁盘,同时会将edits存入QJM;

standby namenode(类似secondarynamenode)
  1. standby namenode会定期从QJM上下载新生成的edits日志
    2然后加载fsimage镜像到内存中,然后顺序解析edits文件,对内存中的元数据对象进行修改(整合)
    3整合完成后,将内存元数据序列化成一个新的fsimage,并将这个fsimage镜像文件上传回给active namenode,(fsimage存在硬盘)。
(QJM)Quorum Journal Manager

(分布式日志存储系统):为了使Standby Namenode与Active Namenode数据保持同步,两个Namenode都与一组Journal Node进行通信。QJM主要用来管理namenode之间的数据同步,当active namenode数据更新时会传递给QJM,QJM在所有的namenode之间同步,最后QJM将active namenode 更新的数据同步到了standby namenode中。
QJM会将数据存储在多台服务器,只有当半数以上得服务器存活,才会对外服务,这种机制保证数据安全

zkfc(ZooKeeper Failover Controller)

作用是监控NameNode健康状态,当主NN挂掉之后,备用namenode的ZKFC会得到消息,然后会将备用NN状态改为(Active),并是原来的主NN改为备用NN。
在这这里为防止brain spilt(两条机器都是active状态),有以下解决方案,1.ssh killer 把原本的active 直接给关了(因为怕他没有真正的挂机,出现两个active的情况)
2.当ssh没有响应的时候,调用用户的一段脚本,将stand by切换为active

zookeeper

引入zookeeper通过zkfc来对namenode进行监听,因为在一般情况下,active 的namenode崩溃了的话,需要人工切换standby Namenode为active。非常不人性化。通过zookeeper可以监听多个namenode,当active namenode崩溃的话,zookeeper监听到后马上通知zookeeper的leader进行主备选举,在standby namenode中选举出一台,并将它置为active模式替换崩溃的namenode。

Yarn HA

在这里插入图片描述
Yarn HA 的作用我认为和Namenode HA差不多,都是用来防止心脏组件出意外导致整个集群崩溃。
Yarn HA 配置大概流程(个人理解):

  1. 通过在yarn-site.xml中配置对zookeeper的支持后,在ResourceManager启动的时候,Active ResourceManager会将自己的状态信息写入到zookeeper集群中。
  2. 启动其他的ResourceManager后,都会在standby状态。
    3.当active ResourceManager 意外停止时,zookeeper就会选举出一个standby 状态的ResourceManager,然后将原来ResourceManager的状态信息写入到standby ResourceManager中,最后将standby ResourceManager置为active状态,完成了主备切换。

HA搭建

具体搭建过程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值