简谈 HDFS 的高可用 HA

作为一个服务提供者,高可用是一个不得不说的话题,那么今天我们就来聊一聊 HDFS 的高可用,我们主要从以下几点来简单说一说:

  • 什么是高可用?
  • HDFS的高可用的决定性因素是什么?
  • HDFS 高可用方案?

高可用是什么?

要聊高可用,我们先来了解下以下两个概念:

  • 什么是高可靠?
    正常运行时间能够满足预计时间我们称为高可靠,可以用,平均无故障可用时间来衡量。
  • 什么是可维护性?
    一个系统从故障状态恢复到可用状态的难以程度我们称为可维护性,可以用,平均维修时间来衡量
  • 什么是高可用呢?
    高可用简单来说就是具有:高可靠性,并且易于维护两大特点。
    如果一个机器可靠性很高,但是一旦故障很难恢复,它也不具备高可用性

HDFS的高可用的决定性因素是什么?

我们知道 HDFS 的架构主要是由 NameNode 和 DataNode 组成,其中DataNode宕机是不会对集群正常运行造成什么影响的,当然,不能是灾难性的宕机,一下宕机一大片那种。所以决定 HDFS 高可用的就是 NameNode的高可用了,在 Hadoop 1.0 之前,NameNode也是一直存在 SPOF(单点故障)的,为此也是衍生了一系列的高可用方案。

HDFS 高可用方案?

这个问题放在现在来说,其实没太多好说的了,HDFS 从2.x开始就已经支持自己的 HA 方案了,这不是我们的重点,我们今天主要谈谈曾经为了 HDFS 的高可用 出现的一些方案吧。。。这里需要说明的一点是,HDFS的高可用主要还是针对其 元数据 的高可用。

  • Secondary NameNode
    该方案启动一个Secondary NameNode 节点,该节点定期从NameNode 节点上下载元数据信息(元数据镜像fsimage 和元数据库操作日志edits ),然后将fsimage 和 edits 进行合并,生成新的fsimage(该 fsimage 就是Secondary NameNode 下载时刻的元数据的Checkpoint ),在本地保存,并将其推送到NameNode,覆盖其就得fsimage。(在 Secondary NameNode 下载好 元数据信息后,NameNode会生成新得 edits文件)

缺点:

  1. 没有做到热备,当NameNode 无法提供服务时,需要重启NameNode,服
    务恢复时间与文件系统规模大小成正比。
  2. Secondary NameNode 保存的只是Checkpoint 时刻的元数据,因此,一旦
    NameNode 上的元数据损坏,通过Checkpoint 恢复的元数据并不是HDFS 此刻的最新数据,存在一致性问题。
  • Hadoop 的元数据备份方案
    该方案利用Hadoop 自身的Failover 措施(通过配置dfs.name.dir),NameNode 可以将元数据信息保存到多个目录。通常的做法,选择一个本地目录、一个远程目录(通过NFS 进行共享),当NameNode 发生故障时,可以启动备用机器的 NameNode,加载远程目录中的元数据信息,提供服务。

缺点

  1. 该方案主要是解决元数据保存的可靠性问题,但没有做到热备,HDFS 恢
    复服务时,需要重新启动NameNode ,恢复时间与文件系统规模成正比。
  2. NFS 共享的可靠性问题,如果配置的多个目录中有任何一个目录的保存因
    为异常而阻塞,将会导致整个HDFS 的操作阻塞,无法对外提供正常服务。
  • AvatarNode 方案
    Active Node 作为Primary NameNode 对外提供服务。Standby Node 处于Safemode 模式,在内存中保存Primary NameNode 最新的元数据信息。Active Node 和 Standby Node 通过NFS 共享存储进行交互。DataNode 同时向Active Node 和 Node 发送Block location 信息。当管理员确定Primary NameNode 发生故障后,将Standby Node 切换为 Primary NameNode。由于Standby Node 内存中保存了所有元数据的最新信息,因此可直接对外提供服务,大大缩短了切换时间。这也是2.x版本之后自带得 HA 的方案原理。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系...
    大佛爱读书阅读 969评论 0 0
  • 终极算法 关注微信号每天收听我们的消息终极算法为您推送精品阅读 前言 Hadoop 在大数据技术体系中的地位至关...
    Yespon阅读 131,038评论 12 168
  • 1.背景 HDFS最初是参考谷歌GFS论文原理开发的一个开源产品,由Lucene开源项目的创始人Doug Cutt...
    架构禅话阅读 1,697评论 0 2
  • HDFS HA 原理 标签:HDFS HA 概述 在 Hadoop 2.x 版本中,Hadoop 实现了 HDFS...
    神仙CGod阅读 2,221评论 1 4
  • 其实我早早就发现自己有一个坏习惯,长期存在,迟迟未改,那就是:凡事太在乎结果了,而忽略了过程的享受。 近几日,因为...
    张莞尔阅读 557评论 0 0

友情链接更多精彩内容