高可用HDFS集群原理笔记及搭建过程

HDFS高可用集群原理及搭建

如何实现HDFS高可用?

HDFS的高可用是HDFS持续对客户端提供读、写服务的能力,因为客户端对HDFS的读写操作之前要访问namenode服务器,客户端需要从namenode端获取元数据之后才能继续进行读、写。HDFS的高可用的关键在于nodename元数据持续可用,之前的完全分布式中的secondaryNamenode是把namenode的fsimage和edit log做定期融合,融合后传给namenode, 以确保备份到的元数据是最新的,这一点类似于做了一个元数据的快照。在高可用中存在两个namenode,高可用完全分布主要包括下图所示部分:
在这里插入图片描述

Namenode节点

集群中存在2个namenode,二者之中只能有一个namenode处于活跃状态(active),另一个是待命状态(standby),只有active的NN节点才能对外提供读写HDFS服务,也只有active态的namenode才能向JN写入编辑日志;standby状态的namenode负责从JN小集群中拷贝数据到本地。另外,各个datanode也要同时向两个名称节点报告状态(心跳信息、块信息)。

Journal Node集群(简称JN)

同时在高可用完全分布式配置下,edit log不再存放在名称节点,而是存放在一个共享存储的地方,这个共享存储由奇数个J4组成,一般是3个节点(JN小集群), 每个JN专门用于存放来自namenode的编辑日志,编辑日志由活跃状态的名称节点写入JN小集群。2个namenode与3个JN构成的组保持通信,活跃的名称节点负责往JN集群写入编辑日志,待命的名称节点负责观察JN集群中的编辑日志,并且把日志拉取到待命节点,再加上两个namenode各自的fsimage镜像文件,这样一来就能确保两个namenode的元数据保持同步。

主备切换控制器 (ZKFailoverController 简称ZKFC)

ZKFC作为独立的进程运行,对 NameNode 的主备切换进行总体控制。ZKFC 能及时检测到 NameNode 的健康状况,在主 NameNode 故障时借助 Zookeepe

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值