HA机制

HA机制确保7*24小时服务不间断,hadoop 2.x的HA涉及HDFS组件,采用内存中保存元数据和共享edits存储。ZKFailoverController在每个NameNode节点监控状态,防止脑裂。通过ViewFS管理的联邦机制,允许多个NameService并存,分散元数据管理,解决大型集群元数据过多问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HA机制

hadoop2.x
  • hadoop-HA(high available)

    所谓HA,即高可用(7*24小时不中断服务),消除单点故障
    hadoop的HAf分为各个组件的HA机制-----HDFS的HA,Yarn的HA

  • HDFS的HA机制

    • 通过双namenode消除单点故障
    • 双namenode协调工作要点:

    元数据管理方式改变:
    内存中各自保存一份元数据
    共享的edits放在一个文件系统集群中管理(qjournal和nfs两个主流实现)
    两个namenode都可以读取edits,但只有active状态的namenode节点可以做写操作
    HDFS的HA中没有secondarynamenode,元数据合并交给standby namenode进行checkpoint

    需要状态管理模块:
    实现一个zkfailover,常驻在每一个namenodde所在节点
    每一个zkfc负责监控自己所在namenode节点,利用zk进行状态标识,当需要状态切换时,由zkfc负责切换
    standby这一端的zkfc收到active端的故障通知不会立即把自己的状态变成active,防止brain split 脑裂(即两个namenode都处于active状态

    防止脑裂的方法:
    远程kill掉active端的namenode
    等待ssh kill的返回命令
    如果响应成功,状态切换为active
    如果响应失败或超时(可以配置超时时间),需要调用用户提供的一个脚本来处理,确保另一端namenode一定被kill掉
    只要shell脚本调用的返回值为true,则切换自己端的namenode状态为true

hadoop 2.x 新机制
联邦机制federation
  • 两个namenode属于一个nameservice命名空间

  • 两个nameservice共用一套datanode

  • 但是在datanode上的存储数据路径不一样

  • 两个nameservice由ViewFS进行管理

  • 客户端与nameservice1连接,可获取nameservice1的元数据

  • 与nameservice2连接,获取的是nameservice2的元数据

  • 作用:
    缓解集群过大,一个nameservice存储的元数据过多的问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值