System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于HDFS分布式存储系统的副本优化方法技术方案_技高网

一种基于HDFS分布式存储系统的副本优化方法技术方案

技术编号:41069792 阅读:3 留言:0更新日期:2024-04-24 11:25
本发明专利技术公开了一种基于HDFS分布式存储系统的副本优化方法,包括以下步骤:选定以HDFS为存储系统的计算框架;修改计算框架以传递副本数设置到HDFS;修改HDFS以接受来自计算框架的副本数设置;识别热点数据文件并在写入时控制副本数;采用滚动优化的方式更新热点数据文件副本数。上述技术方案通过技术手段完成表级别的副本数设置,实现不同的表在创建时自定义副本数,或者在使用时根据表数据实际写入和访问情况进行表级别的副本数动态调整,以此达到数据写入、数据存储和数据访问的效率的提升,资源的节省,优化整体的性能和成本。

【技术实现步骤摘要】

本专利技术涉及数据文件副本创建,尤其涉及一种基于hdfs分布式存储系统的副本优化方法。


技术介绍

1、随着现代网络的发展,数据量剧增。为实现对海量数据量进行高效、可靠地处理,出现了hadoop集群,其由多台廉价机器作为集群节点搭建而成。hadoop集群能够把应用程序分割成许多很小的工作单元,每个单元可以在任何集群节点上执行。此外,hadoop还提供一个分布式文件系统hdfs用来在各个集群节点上存储数据,提供了对数据读写的高吞吐率。

2、hdfs(hadoop distributed file system)是apache hadoop生态系统的一部分,是一个用于存储大规模数据的分布式文件系统。hdfs采用了分布式存储的思想,将文件切分成多个块(block),并在多台服务器上进行存储。这种分布式存储方式为数据提供了高可靠性和容错性,因为每个文件块都会被复制到集群中的多个节点上,甚至可以配置的副本数来增加数据的冗余和可靠性。hdfs的设计目标是为大数据处理提供高性能的数据访问方式,允许在集群中的不同节点上并行处理数据。hdfs通过处理大文件和大数据集的方式来应对传统文件系统难以处理的数据规模和计算量。

3、有资料显示,目前创建delta表的语法是不用也无法指定delta表的存储的副本数的,因为delta本身并不会对副本数进行特殊处理,管理文件存储和副本复制的相关操作都是基于hdfs内部进行管理的,delta对此没有直接的控制权。同时,在hdfs中,副本数是在集群级别进行设置的,即对整个hdfs系统中的文件和目录都具有相同的副本数。一旦设置了副本数,就会应用于整个hdfs系统的所有对象。所以delta基于hdfs作为存储系统,创建的所有的delta表的副本数都是根据hdfs系统的副本数来决定,并且副本数量都是一样的。

4、中国专利文献cn104102725b公开了一种“hdfs中热点数据文件的动态副本创建方法和系统”。采用了方法包括:识别热点数据文件;对所述文件动态创建副本,包括:优先在对所述热点数据文件发生请求的本地节点创建所述热点数据文件的副本。上述技术方案优化策略都是基于一个或者多个hdfs集群上所有的数据存储的整体调整和优化,并未涉及如何将hdfs副本数的优化细化到不同的数据存储级别,静态或者动态地为不同的表设置不同的副本数。


技术实现思路

1、本专利技术主要解决原有的技术方案并未涉及如何将hdfs副本数的优化细化到不同的数据存储级别,静态或者动态地为不同的表设置不同的副本数的技术问题,提供一种基于hdfs分布式存储系统的副本优化方法,通过技术手段完成表级别的副本数设置,实现不同的表在创建时自定义副本数,或者在使用时根据表数据实际写入和访问情况进行表级别的副本数动态调整,根据表的数据写入的情况,或者表存储的情况,或者表访问的情况,进行静态或者动态的为不同的表设置不同的副本数,以此达到数据写入、数据存储和数据访问的效率的提升,资源的节省,优化整体的性能和成本。

2、本专利技术的上述技术问题主要是通过下述技术方案得以解决的:本专利技术包括以下步骤:

3、s1选定以hdfs为存储系统的计算框架;

4、s2修改计算框架以传递副本数设置到hdfs;

5、s3修改hdfs以接受来自计算框架的副本数设置;

6、s4识别热点数据文件并在写入时控制副本数;

7、s5采用滚动优化的方式更新热点数据文件副本数。

8、选定一个可以以hdfs为存储系统的查询和计算框架,例如hive。通过以上hive和hadoop的代码的修改,使得在创建或者修改hive表时,可以对每个表单独设置副本数,以此达到性能优化,成本优化和稳定性优化的效果。

9、作为优选,所述的步骤s2具体包括,修改语法解析器以识别并解析表创建和表修改语句中的新语法;修改查询优化器,将副本数设置应用到查询计划生成的过程中;修改元数据存储,在表的元数据记录和存储副本数相关设置的信息;修改作业执行器,在提交作业时,向hdfs传递设置的副本数参数,并确保作业正确运行。以apache/hive的release-3.1.3-rc3版本为例。修改hive的代码目的是在hive表创建和修改过程中,能够记录并传递副本数设置到hdfs,并确保表的存储副本数按照我们设置的值进行管理。

10、作为优选,所述的步骤s3具体包括,修改元数据管理模块,将hive传递下来的副本数设置信息记录到元数据管理模块;修改块管理模块,在数据的写入过程中,根据元数据管理模块中记录的副本数设置信息,对数据进行数据块副本的创建和分发写入。这里以apache/hadoop的release-3.1.3-rc0版本为例,对源码进行修改。修改的源代码的范围主要涉及到hadoop-common-project、hadoop-hdfs-project和hadoop-yarn-project三个组件。

11、作为优选,所述的步骤s3还包括,修改副本管理模块,基于不同的表记录各自不同的副本数设置参数,并进行副本的位置信息管理;修改数据读取管理模块,根据元数据管理信息、块信息以及数据位置信息读取到现阶段该表的所有数据;修资源调度和管理模块,在数据查询和计算过程中,在数据查询和计算过程中,根据副本数和数据位置的不同,对资源的预估方案以及资源调度方案进行修改。修改hadoop代码的目的是使hadoop能够接收来自hive的副本数设置,进行记录,并在数据写入,数据存储和数据查询时能够根据副本数的实际设置情况进行合理的调整,保证写入,存储,读取以及调度的准确性,合理性。

12、作为优选,所述的步骤s4识别热点数据文件具体包括:

13、s4.1按时间顺序依次记录被访问的数据文件并为每个被访问的数据文件分配权值,并设定热点阈值;

14、s4.2达到预设时间时,统计记录的每个被访问的数据文件被分配的权值之和,计算每个被访问的数据文件的访问热度;

15、s4.3将每个被访问的数据文件的访问热度与热点阈值比较以识别热点数据文件。

16、作为优选,所述的分配权值时,先访问的数据文件被分配的权值小,后访问的数据文件被分配的权值大。由于在分配数据文件的权值时,考虑了数据被访问的时间先后,并且最近被访问的数据文件被分配的权值大,因此根据上述方法识别出的热点数据文件是当前被访问次数较多的数据文件,使得后续根据热点文件创建的文件副本能够较好的满足当前的数据处理请求,提升集群系统的用户友好度。

17、作为优选,所述的预设时间到达前,若按时间顺序依次记录的被访问的数据文件占用的空间达到或超过阈值,则删除最早记录的被访问的数据文件直至已记录的被访问的数据文件占用的空间满足要求。由于最早记录的被访问的数据文件的权值最小,删除该最早记录的被访问的数据文件对后续权值的计算影响不大。

18、作为优选,所述的数据文件wn的访问热度为

19、

...

【技术保护点】

1.一种基于HDFS分布式存储系统的副本优化方法,其特征在于,包括以下步骤:S1选定以HDFS为存储系统的计算框架;

2.根据权利要求1所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述步骤S2具体包括,修改语法解析器以识别并解析表创建和表修改语句中的新语法;修改查询优化器,将副本数设置应用到查询计划生成的过程中;修改元数据存储,在表的元数据记录和存储副本数相关设置的信息;修改作业执行器,在提交作业时,向HDFS传递设置的副本数参数,并确保作业正确运行。

3.根据权利要求1所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述步骤S3具体包括,修改元数据管理模块,将hive传递下来的副本数设置信息记录到元数据管理模块;修改块管理模块,在数据的写入过程中,根据元数据管理模块中记录的副本数设置信息,对数据进行数据块副本的创建和分发写入。

4.根据权利要求1或3所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述步骤S3还包括,修改副本管理模块,基于不同的表记录各自不同的副本数设置参数,并进行副本的位置信息管理;修改数据读取管理模块,根据元数据管理信息、块信息以及数据位置信息读取到现阶段该表的所有数据;修资源调度和管理模块,在数据查询和计算过程中,根据副本数和数据位置的不同,对资源的预估方案以及资源调度方案进行修改。

5.根据权利要求1所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述步骤S4识别热点数据文件具体包括:

6.根据权利要求5所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述分配权值时,先访问的数据文件被分配的权值小,后访问的数据文件被分配的权值大。

7.根据权利要求5所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述预设时间到达前,若按时间顺序依次记录的被访问的数据文件占用的空间达到或超过阈值,则删除最早记录的被访问的数据文件直至已记录的被访问的数据文件占用的空间满足要求。

8.根据权利要求5所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述数据文件Wn的访问热度为

9.根据权利要求1所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述步骤S4在识别热点数据文件后,写入热点数据文件时增加定义副本数,写入非热点数据文件时降低定义副本数。

10.根据权利要求1所述的一种基于HDFS分布式存储系统的副本优化方法,其特征在于,所述步骤S5设定热点数据文件更新间隔,重复识别热点数据文件并更新存在变化的数据文件的副本数。

...

【技术特征摘要】

1.一种基于hdfs分布式存储系统的副本优化方法,其特征在于,包括以下步骤:s1选定以hdfs为存储系统的计算框架;

2.根据权利要求1所述的一种基于hdfs分布式存储系统的副本优化方法,其特征在于,所述步骤s2具体包括,修改语法解析器以识别并解析表创建和表修改语句中的新语法;修改查询优化器,将副本数设置应用到查询计划生成的过程中;修改元数据存储,在表的元数据记录和存储副本数相关设置的信息;修改作业执行器,在提交作业时,向hdfs传递设置的副本数参数,并确保作业正确运行。

3.根据权利要求1所述的一种基于hdfs分布式存储系统的副本优化方法,其特征在于,所述步骤s3具体包括,修改元数据管理模块,将hive传递下来的副本数设置信息记录到元数据管理模块;修改块管理模块,在数据的写入过程中,根据元数据管理模块中记录的副本数设置信息,对数据进行数据块副本的创建和分发写入。

4.根据权利要求1或3所述的一种基于hdfs分布式存储系统的副本优化方法,其特征在于,所述步骤s3还包括,修改副本管理模块,基于不同的表记录各自不同的副本数设置参数,并进行副本的位置信息管理;修改数据读取管理模块,根据元数据管理信息、块信息以及数据位置信息读取到现阶段该表的所有数据;修资源调度和管理模块,在数据查询和计算过程中,根据副...

【专利技术属性】
技术研发人员:徐乾龙奚军虎冯子函
申请(专利权)人:浙江中控信息产业股份有限公司
类型:发明
国别省市:

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

1