HDFS高可用性方案.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HDFS高可用性方案大数据高可用性方案:一。副本技术方案:主要介绍HDFS。二。纠错码技术方案:主要介绍HDFS-RAID。 1.集群高可用方法一: 副本技术 主要代表方案:GFS/HDFS、Glusterfs复制卷和RAID1。Glusterfs复制卷方法如下图所示: 1.1 副本技术的功能 副本(Replication)就是对原始数据的完全拷贝。 功能: (1)通过冗余的文件数据,可以十分有效地提高文件的可用性; (2)副本还可以选择性地放在合适的存储节点上,通过路由协议配合,可以实现数据的就近访问,提高系统性能。 2. 集群高可用方法二: 纠错码技术 主要代表方案:HDFS-RAID、AZURE、QFS、ISILON等。我们将以HDFS-RAID为主来说明。2.1 HDFS-RAID总体架构 HDFS RAID的实现不再HDFS上直接修改, 而是在HDFS之上增加了一个包contrib。2.1 HDFS-RAID基本功能 1 Raid数据的管理 DRFS的管理包括DFS中哪些文件需要进行raid化,查询raid文件状态等,由RaidShell通过RPC与集群中的RaidNode通信,完成操作。 2 Raid数据读写 DRFS包装了DFS的读(只是读)请求,当发生block丢失或损坏,DRFS会捕获异常,并向RaidNode发送RPC对失效的数据进行恢复。2.1 HDFS-RAID工作原理(1) HDFS-RAID中包括RaidNode、NameNode和JobTracker三个主节点。 数据raid化有两种: 1. 通过raidFile命令触发; 2. 周期扫描policy配置,根据新的配置信息进行相应的raid化。2.1 HDFS-RAID工作原理(2) raidFile命令处理流程:2.1 HDFS-RAID工作原理(3) 流程说明:1. 检查delay时间,到时间方执行;2.参数处理,包括path路径校验,codec设置等;3. 查询path路径状态,分为local(本地)和dist(远程)两种模式;4. 根据参数构造一个新的raid-policy,等待TiggerMonitor线程下次处理该policy。2.1 HDFS-RAID工作原理(4) 新policy处理流程:RaidNode上有一个守护线程riggerMonitor周期性地从configManager中获取policy列表,对每个policy进行如下处理:1. 如未执行过,立即处理;如已处理,过滤其path中尚未处理的file;2.如果是local模式,对列表中的file执行RaidNode.doRaid();3.如果是dist模式,构建一个raid job,就是一个待raid文件path构成的sequence 文件,RaidNode.doRaid()对该文件中的file path进行raid。2.1 HDFS-RAID工作原理(5) RaidNode.doRaid()的主要流程如下::2.1 HDFS-RAID工作原理(6)流程说明:1.获取文件block和delay信息,如果block数3或未至delay时间,则不进行raid;2.如果已到达delay时间且block数2 时则进入步骤3;3.检查相应的parity文件是否存在,如存在,检查parity文件的更新时间是否与源文件一致,如是,则认为该源文件已经raid且是最新,不进行raid。4. 如果parity文件不存在或不是最新,则生成parity文件,生成方法说明如后,并设置parity文件的更新时间与源文件一致。5.检查policy文件的最终状态,是否与源文件一致。通过则raid完成。2.1 HDFS-RAID工作原理(7)生成parity文件的Encoder过程:2.1 HDFS-RAID工作原理(8)Encoder流程说明:1.由于编码过程会比较长,所以先生成?p文件;2.构建?p文件path;3.通过Erasued Code(主要有XOR算法和RS算法)来编码到?p文件;4.删除原有的parity文件;5.将?p文件重命名为parity文件;6.删除?p文件。2.1 HDFS-RAID工作原理(9)发现错误时Decoder修复过程:2.1 HDFS-RAID工作原理(10)修复流程说明:1.根据文件中出错的位置,计算出错的block,该block所在的stripe,以及在stripe中的位置,计算parity文件相应block的位置2. 读取源block数据和parity数据,读取方式与编码时类似;3.通过Erasured Code将源block和parity数据的进行解码,生成丢失的block数据。2.2 HDFS小结 集群存储系统中,采用纠删码可以提供比副本

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档