HDFS高可用+联邦机制

1、HDFS高可用

1.2、组件分析

  • JournalNode

    共享式存储系统

    ​ 特点:自身高可用、强一致性

    在Hadoop-2.x使用Quorum Journal Manager(QJM)来实现操作日志的共享,QJM是一个比Zookeeper更轻量级的分布式存储系统,所使用的一致性约束条件远远不如paxos,raft等高可用的一致性算法。

  • Zookeeper

    辅助namenode实现高可用,ZKFC进程在启动时在zookeeper中挂载临时节点,zookeeper利用watch机制实时监控namenode状态,并且对active的namenode进行投票选举

  • NameNode

    状态:

    ​ ==active:==处于该状态的namenode有元数据更新通知JournalNode更新元数据,保证数据一致,处理datanode请求

    ​ ==standby:==处于该状态的namenode定时从JournalNode上获取元数据,保证数据同步

  • ZKFC

    ZKFC是NameNode的一个守护进程,其中包含以下子组件:

    • ZKFailoverController(故障控制转移)

      启动时,在Zookeeper为namenode注册临时节点,竞争选举Active状态的NameNode

      根据HealthMonitor实时发送的数据监控Active状态的NameNode,当NameNode进程出现问题,主动退出选举

    • HealthMonitor

      周期性监听NameNode状态,将状态信息发送给ZKFailoverController

    • ActiveStandbyElector

      接收ZKFailoverController选举请求,选举完成回调ZKFailoverController主备切换方法,对namenode的状态进行切换

  • DataNode

    存放文件的源数据,并实时发送源数据信息,及自身存储情况信息给namenode

2、Federation机制

2.1、什么是联邦机制

Federation是指HDFS集群可使用多个独立的NameSpace(NameNode节点管理)来满足HDFS命名空间的水平扩展 ,这些NameNode分别管理一部分数据,且共享所有DataNode的存储资源NameSpace在逻辑上是完全独立的

2.1、联邦机制解决的问题

  • HDFS集群扩展性

    每个NameNode分管一部分namespace,相当于namenode是一个分布式的

  • 性能更高效

    多个NameNode同时对外提供服务,提供更高的读写吞吐率

  • 良好的隔离性

    用户可根据需要将不同业务数据交由不同NameNode管理,这样不同业务之间影响很小

  • 良好的向后兼容性

    已有的单Namenode的部署配置不需要任何改变就可以继续工作

依然存在的缺陷

​ 无法解决单点故障问题

在实际生产环境中通常使用Federation+HA的方式部署集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值