一种Hadoop分布式文件系统HDFS纠删码冗余备份方法技术方案

技术编号:14809912 阅读:477 留言:0更新日期:2017-03-15 02:16
本发明专利技术特别涉及一种Hadoop分布式文件系统HDFS纠删码冗余备份方法。该Hadoop分布式文件系统HDFS纠删码冗余备份方法,包括编码过程,数据完整性检查和不完整数据恢复三部分。该Hadoop分布式文件系统HDFS纠删码冗余备份方法,通过将纠删码策略引入到HDFS分布式文件系统中,提供了一种比HDFS三副本冗余备份策略更加节约磁盘空间的冗余备份方法,使HDFS能够更加灵活的选择数据备份方式。

【技术实现步骤摘要】

本专利技术涉及大数据
,特别涉及一种Hadoop分布式文件系统HDFS纠删码冗余备份策略。
技术介绍
众所周知,Hadoop分布式文件系统(HDFS)采用三副本机制保障数据的可靠性,但是HDFS存储冷数据时,数据三副本造成了存储空间的极大浪费。纠删码冗余备份能够在减少副本的情况下,保障数据的可靠性,节省存储空间,降低集群存储成本。基于上述问题,本专利技术设计了一种Hadoop分布式文件系统HDFS纠删码冗余备份策略。该方法不仅可以在最短的时间内实现资源的弹性配置,还可以实现运行着关键业务主机的宕机风险大大降低。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的Hadoop分布式文件系统HDFS纠删码冗余备份策略。本专利技术是通过如下技术方案实现的:一种Hadoop分布式文件系统HDFS纠删码冗余备份策略,其特征在于:包括编码过程,数据完整性检查和不完整数据恢复三部分;述编码过程是由冗余编码节点周期性发起的,通过纠删码算法将HDFS文件进行冗余备份,并将HDFS原有三副本删除,冗余编码节点从HDFS上获取需raid的文件及文件blocks列表,冗余编码节点从HDFS读取数据执行编码,并将冗余块parities上传到HDFS;所述数据完整性检查是冗余编码节点周期性检查的,将损坏且能恢复的数据块添加到恢复数据列表中;所述不完整数据恢复即解码过程,由冗余编码节点周期性发起,通过纠删码解码算法对不完整数据进行恢复,从HDFS获取损坏数据块冗余码parities,执行解码,并将恢复的数据上传到HDFS;如果不能恢复删除文件,则报告HDFS元数据节点。该Hadoop分布式文件系统HDFS纠删码冗余备份策略,调用HDFS客户端接口实现对HDFS数据的操作,纠删码算法库采用开源Jerasure库;对应的纠删码冗余备份模块可以独立于HDFS,成为独立的可插拔模块。所述编码过程,包括以下按步骤:(1)冗余编码节点检查raid.CheckConf.delay是否满足,满足则执行步骤(2),不满足则执行步骤(1);(2)冗余编码节点处理参数,包括获取待编码文件,编码路径及编码方式;(3)查询编码路径状态,判断是否包含目录且非local模式;(4)如果不包含目录或者当前模式是local模式,则本地执行冗余编码,通过冗余编码节点遍历编码路经下所有文件并编码;(5)如果包含目录且当前模式是dist模式,则向冗余编码节点提交冗余请求;冗余编码节点接收到client提交的请求后,根据提交的参数构造一个raid-policy,并添加到配置管理器中,等待冗余编码节点上守护线程处理该policy,执行编码。所述数据完整性检查和不完整数据恢复,包括以下步骤:(1)冗余编码节点检查raid.CheckInteger.delay是否满足,满足则执行步骤(2),不满足则执行步骤(1);(2)冗余编码节点判断损坏数据是否能恢复,不能恢复执行则执行步骤(3),能恢复执行则执行步骤(4);(3)冗余编码节点报告HDFS数据块损坏;(4)将数据块添加到修复队列,冗余编码节点周期性对恢复队列中的数据进行检查和修复。本专利技术的有益效果是:该Hadoop分布式文件系统HDFS纠删码冗余备份策略,通过将纠删码策略引入到HDFS分布式文件系统中,提供了一种比HDFS三副本冗余备份策略更加节约磁盘空间的冗余备份方法,使HDFS能够更加灵活的选择数据备份方式。附图说明附图1为本专利技术纠删码冗余备份结构示意图。附图2为本专利技术纠删码冗余备份编码过程示意图。附图3为本专利技术数据完整性检查和不完整数据恢复流程示意图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。该Hadoop分布式文件系统HDFS纠删码冗余备份策略,包括编码过程,数据完整性检查和不完整数据恢复三部分;述编码过程是由冗余编码节点周期性发起的,通过纠删码算法将HDFS文件进行冗余备份,并将HDFS原有三副本删除,冗余编码节点从HDFS上获取需raid的文件及文件blocks列表,冗余编码节点从HDFS读取数据执行编码,并将冗余块parities上传到HDFS;所述数据完整性检查是冗余编码节点周期性检查的,将损坏且能恢复的数据块添加到恢复数据列表中;所述不完整数据恢复即解码过程,由冗余编码节点周期性发起,通过纠删码解码算法对不完整数据进行恢复,从HDFS获取损坏数据块冗余码parities,执行解码,并将恢复的数据上传到HDFS;如果不能恢复删除文件,则报告HDFS元数据节点。该Hadoop分布式文件系统HDFS纠删码冗余备份策略,调用HDFS客户端接口实现对HDFS数据的操作,纠删码算法库采用开源Jerasure库;对应的纠删码冗余备份模块可以独立于HDFS,成为独立的可插拔模块。所述编码过程,包括以下按步骤:(1)冗余编码节点检查raid.CheckConf.delay是否满足,满足则执行步骤(2),不满足则执行步骤(1);(2)冗余编码节点处理参数,包括获取待编码文件,编码路径及编码方式;(3)查询编码路径状态,判断是否包含目录且非local模式;(4)如果不包含目录或者当前模式是local模式,则本地执行冗余编码,通过冗余编码节点遍历编码路经下所有文件并编码;(5)如果包含目录且当前模式是dist模式,则向冗余编码节点提交冗余请求;冗余编码节点接收到client提交的请求后,根据提交的参数构造一个raid-policy,并添加到配置管理器中,等待冗余编码节点上守护线程处理该policy,执行编码。所述数据完整性检查和不完整数据恢复,包括以下步骤:(1)冗余编码节点检查raid.CheckInteger.delay是否满足,满足则执行步骤(2),不满足则执行步骤(1);(2)冗余编码节点判断损坏数据是否能恢复,不能恢复执行则执行步骤(3),能恢复执行则执行步骤(4);(3)冗余编码节点报告HDFS数据块损坏;(4)将数据块添加到修复队列,冗余编码节点周期性对恢复队列中的数据进行检查和修复。本文档来自技高网...

【技术保护点】
一种Hadoop分布式文件系统HDFS纠删码冗余备份策略,其特征在于:包括编码过程,数据完整性检查和不完整数据恢复三部分;述编码过程是由冗余编码节点周期性发起的,通过纠删码算法将HDFS文件进行冗余备份,并将HDFS原有三副本删除,冗余编码节点从HDFS上获取需raid的文件及文件blocks列表,冗余编码节点从HDFS读取数据执行编码,并将冗余块parities上传到HDFS;所述数据完整性检查是冗余编码节点周期性检查的,将损坏且能恢复的数据块添加到恢复数据列表中;所述不完整数据恢复即解码过程,由冗余编码节点周期性发起,通过纠删码解码算法对不完整数据进行恢复,从HDFS获取损坏数据块冗余码parities,执行解码,并将恢复的数据上传到HDFS;如果不能恢复删除文件,则报告HDFS元数据节点。

【技术特征摘要】
1.一种Hadoop分布式文件系统HDFS纠删码冗余备份策略,其特征在于:包括编码过程,数据完整性检查和不完整数据恢复三部分;述编码过程是由冗余编码节点周期性发起的,通过纠删码算法将HDFS文件进行冗余备份,并将HDFS原有三副本删除,冗余编码节点从HDFS上获取需raid的文件及文件blocks列表,冗余编码节点从HDFS读取数据执行编码,并将冗余块parities上传到HDFS;所述数据完整性检查是冗余编码节点周期性检查的,将损坏且能恢复的数据块添加到恢复数据列表中;所述不完整数据恢复即解码过程,由冗余编码节点周期性发起,通过纠删码解码算法对不完整数据进行恢复,从HDFS获取损坏数据块冗余码parities,执行解码,并将恢复的数据上传到HDFS;如果不能恢复删除文件,则报告HDFS元数据节点。
2.根据权利要求1所述的Hadoop分布式文件系统HDFS纠删码冗余备份策略,其特征在于:调用HDFS客户端接口实现对HDFS数据的操作,纠删码算法库采用开源Jerasure库;对应的纠删码冗余备份模块可以独立于HDFS,成为独立的可插拔模块。
3.根据权利要求1所述的Hadoop分布式文件系统HDFS纠删码冗余备份策略,其特征在于:所述编码过程,包括以下按步骤:
(1)冗余编码节点检查raid.Check...

【专利技术属性】
技术研发人员:王垒
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1