HDFS HA 高可靠性分布式存储系统解决方案的历史演进.pdfVIP

HDFS HA 高可靠性分布式存储系统解决方案的历史演进.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

HDFSHA:高可靠性分布式存储系统解决方案的历史演进

HDFSHA的解决方案可谓百花齐放,LinuxHA,VMwareFT,sharedNAS+NFS,BookKeeper,

QJM/QuorumJournalManager,BackupNode等等。目前普遍采用的是sharedNAS+NFS,因

为简单易用,但是需要提供一个HA的共享存储设备。而社区已经把基于QJM/QuorumJournal

Manager的方案merge到trunk了,clouderea提供的发行版中也包含了这个feature,这

种方案也是社区在未来发行版中默认的HA方案。

1.HDFS简介

HDFS,为Hadoop这个分布式计算框架提供高性能、高可靠、高可扩展的存储服务。HDFS

的系统架构是典型的主/从架构,早期的架构包括一个主节点NameNode和多个从节点

DataNode。NameNode是整个文件系统的管理节点,也是HDFS中最复杂的一个实体,它维护

着HDFS文件系统中最重要的两个关系:

HDFS文件系统中的文件目录树,以及文件的数据块索引,即每个文件对应的数据块列

表。

数据块和数据节点的对应关系,即某一块数据块保存在哪些数据节点的信息。

其中,第一个关系即目录树、元数据和数据块的索引信息会持久化到物理存储中,实现

是保存在命名空间的镜像fsimage和编辑日志edits中。而第二个关系是在NameNode启动

后,有DataNode主动上报它所存储的数据块,动态建立对应关系。

在上述关系的基础上,NameNode管理着DataNode,通过接收DataNode的注册、心跳、

数据块提交等信息的上报,并且在心跳中发送数据块复制、删除、恢复等指令;同时,NameNode

还为客户端对文件系统目录树的操作和对文件数据读写、对HDFS系统进行管理提供支持。

DataNode提供真实文件数据的存储服务。它以数据块的方式在本地的Linux文件系统

上保存了HDFS文件的内容,并且对外提供文件数据的访问功能。客户端在读写文件时,必

须通过NameNode提供的信息,进一步和DataNode进行交互;同时,DataNode还必须接

NameNode的管理,执行NameNode的指令,并且上报NameNode感兴趣的事件,以保证文件

系统稳定,可靠,高效的运行。架构图如下:

在HDFS集群中NameNode存在单点故障(SPOF)。对于只有一个NameNode的集群,如果

NameNode机器出现故障,那么整个集群将无法使用,直到NameNode重新启动。

NameNode主要在以下两个方面影响HDFS集群:

NameNode机器发生意外,比如宕机,集群将无法使用,直到管理员重启NameNode

NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用

HDFS的HA功能通过配置Active/Standby两个NameNodes实现在集群中对NameNode的

热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方

式将NameNode很快的切换到另外一台机器。

2.HA基础

HDFSHA的解决方案可谓百花齐放,LinuxHA,VMwareFT,sharedNAS+NFS,BookKeeper,

QJM/QuorumJournalManager,BackupNode等等。目前普遍采用的是sharedNAS+NFS,因

为简单易用,但是需要提供一个HA的共享存储设备。而社区已经把基于QJM/QuorumJournal

Manager的方案merge到trunk了,clouderea提供的发行版中也包含了这个feature,这

种方案也是社区在未来发行版中默认的HA方案。

在HA具体实现方法不同的情况下,HA框架的流程是一致的。不一致的就是如何存储和

管理日志。在ActiveNN和StandbyNN之间要有个共享的存储日志的地方,ActiveNN把

EditLog写到这个共享的存储日志的地方,StandbyNN去读取日志然后执行,这样Active

和StandbyNN内存中的HDFS元数据保持着同步。一旦发生主从切换StandbyNN可以尽快

接管ActiveNN的工作(虽然要经历一小段时间让原来Standby追上原来的Active,但是时

间很短)。

说到这个共享的存储日志的地方,目前采用最多的就是用共享存储NA

您可能关注的文档

文档评论(0)

138****8628 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档