基于数据温度和节点性能的异构Hadoop存储方法与流程

文档序号:11830406阅读:320来源:国知局
本发明涉及存储方法
技术领域
,特别涉及一种基于数据温度和节点性能的异构Hadoop存储方法。
背景技术
:Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。在Hadoop2.6.0版本中,Apache提出了将计算能力与不断增长的存储能力分离:拥有高密度低成本的存储但是计算能力较低的节点将变得可用,可以在集群中做冷存储。增加更多的节点作为冷存储可以提高集群的存储能力,这些节点跟集群的计算能力无关。HDFS对异构存储的支持主要有两个关键因素:存储类型和存储策略。其将存储器类型分为档案存储器(ARCHIEVE),磁盘(DISK),固态硬盘(SolidStateDrives,SSDs)以及虚拟内存盘(RAM_DISK)四种。在HDFS的异构存储方案中,用户可以通过调用存储策略应用程序接口(APIs)在文件生命期的任意时候制定数据所要驻留的存储器类型。存储策略的一个典型应用是将经常访问的数据存放在固态硬盘存储器(SolidStateDrives,SSDs)中,而将那些不常访问的数据放在档案存储器(ARCHIEVE)中,这将通过缩小应用延迟来优化整体的磁盘访问时间。HDFS针对异构集群的存储方案在对于将来要新部署的Hadoop集群是可行且有效的,但是现存的许多Hadoop集群中只存在磁盘和固态硬盘两种存储器,甚至有的集群只有磁盘一种存储器,同时集群中各节点之间性能相差较大。所以HDFS的异构存储方案对此类集群的性能改善有限。如中国专利CN105138476A的发明专利,该发明提供一种基于hadoop异构存储的数据存储方法及系统,然而,该发明只存在磁盘和固态硬盘两种存储器,甚至有的集群只有磁盘一种存储器,同时集群中各节点之间性能相差较大的问题。技术实现要素:本发明的目的旨在至少解决所述技术缺陷之一。为此,本发明的目的在于提出一种具有同类存储介质节点间的性能差异的基于数据温度和节点性能的异构Hadoop存储方法。为了实现上述目的,本发明提供一种基于数据温度和节点性能的异构Hadoop存储方法,包括如下步骤:步骤S1,根据文件被访问频度、文件年龄、时间度,设定文件温度等级;步骤S2,根据文件被访问次数和文件温度等级,制定存储策略,建立文件温度和存储策略之间的直接映射;步骤S3,根据节点存储器的类型和节点性能值,确定各种块存储策略;步骤S4,根据文件温度等级和各种块存储策略之间的映射关系,将文件放置相应的存储器中。进一步的,在步骤S1中,所述文件温度等级包括:热、温、冷、冰冻。进一步的,在步骤S1中,当文件年龄为小于一周,最近一天访问频度大于30时,则文件温度等级为热;当文件年龄为大于一周且小于一月,最近一天访问频度大于15,最近一周访问频度大于30时,则文件温度等级为温;当文件年龄为大于一月且小于三月,最近一周访问频度等于0,最近一月访问频度大于0时,则文件温度等级为冷;当文件年龄为大于三月且小于一年,最近一月访问频度等于0时,则文件温度等级为冰冻。进一步的,在步骤S2中,文件温度和存储策略之间的直接映射为:当文件温度等级为热时,则块存储策略记为固态硬盘;当文件温度等级为温时,则块存储策略记为准固态硬盘;当文件温度等级为冷时,则块存储策略记为低性能磁盘;当文件温度等级为冰冻时,则块存储策略记为准档案存储器;当文件温度等级不在范围内时,则块存储策略记为磁盘。进一步的,在步骤S3中,节点性能值的计算步骤如下:首先,根据节点性能值、磁盘性能值、内存性能值、CPU性能值的特点,建立节点性能和磁盘的I/O性能、内存性能和节点的CPU处理能力之间的线性回归模型和线性回归模型矩阵;其次,根据多个节点执行基准测试工具以及分析节点日志信息,获得多组节点性能值、磁盘性能值、内存性能值、CPU性能值,将上述获得的性能值作为多元回归模型的样本数据,使用最小二乘法计算线性回归模型中的偏回归系数,获得偏回归系数估计量矩阵;最后,将偏回归系数估计量矩阵中的偏回归系数估计量代入线性回归模型中,计算节点的性能值。进一步的,所述线性回归模型为:Fi=β1+β2Di+β3Mi+β4Ci+e其中,用Fi表示节点i的性能值,Di表示磁盘性能值,Mi表示内存性能值,Ci表示CPU性能值,e表示机器的运行时间、老化程度以及机器所处机房的室温灰尘等不可控因素,β1、β2、β3和β4为偏回归系数,β2为当计算机的内存和CPU不变时,其磁盘I/O能力每增加一个单位对节点性能值Fi的效应,β3和β4同理;将Di、Mi和Ci视为自变量,将e视为方差;所述线性回归模型矩阵为:F1F2...Fn=1D1M1C11D2M2C2............1DnMnCn×β1β2β3β4+e1e2...en]]>上述矩阵可以用来求β1、β2、β3和β4的值,Di、Mi和Ci可以用计算机基准测量工具获得,Fi可以根据Hadoop作业日志中对任务的记录信息得到;进一步的,计算偏回归系数值包括以下步骤:首先,使用下面的公式进行计算节点i的性能值:公式为:Fi=Ej=1mtjm*S]]>其中,i表示要计算的节点,m表示节点i在时间tj内完成的任务数,tj表示任务j执行的时间,S是一个常量,代表输入数据块的大小;其次,用多个节点执行基准测试工具以及分析节点日志信息,获得多组Fi、Di、Mi和Ci的值,这些值即为多元回归模型的样本数据;接着,根据样本数据,用最小二乘法对线性回归模型矩阵的多元回归模型进行参数估计,所谓最小二乘法,就是根据样本数据构造合适的估计量和使得方差ei的平方和最小;最后,获得偏回归系数估计量的矩阵为:β^=(X′X)-1X′Y]]>其中X为:Y为:且X'X满秩,当n≥4,样本容量不少于待估计参数个数。进一步的,在步骤S3中,各种块存储策略如下:固态硬盘:对于温度等级为热的文件,先按照HDFS设置的副本放置策略,若存储空间允许,3个副本均首选存放在固态硬盘上;若本地机架和远程机架不存在空闲的固态硬盘节点,则将该副本放置在准固态硬盘层上;准固态硬盘:对于温度等级为温的文件,先按照HDFS设置的副本放置策略,若存储空间允许,将1个副本存放在固态硬盘上,另外2个副本存放在节点性能值Fi占比前30%的磁盘上;若本地机架和远程机架不存在空闲的固态硬盘和节点性能值Fi占比前30%的磁盘节点,则将该副本放置在磁盘层上;磁盘:对于温度没有落在任何一个文件温度等级上的文件,先按照HDFS设置的副本放置策略,若存储空间允许,3个副本均首选存放在节点性能值Fi占比30%-40%的磁盘上;若本地机架和远程机架不存在空闲的固态硬盘和节点性能值Fi占比前40%的磁盘节点,则将该副本放置在低性能磁盘层上;低性能磁盘:对于温度等级为冷的文件,先按照HDFS设置的副本放置策略,若存储空间允许,3个副本均首选存放在节点性能值Fi占比40%-70%的磁盘上;若本地机架和远程机架不存在空闲的固态硬盘和节点性能值Fi占比前70%的磁盘节点,则将该副本放置在准档案存储器上;准档案存储器:对于温度等级为冰冻的文件,该文件基本无访问或者很少有访问,按照HDFS设置的副本放置策略,将3个副本存放在节点性能值Fi占比后30%的磁盘和档案存储器上。进一步的,各种块存储策略中,对于固态硬盘和档案存储器占比差值较大的集群,由集群管理员考虑当前所运营Hadoop集群的具体情况,适当调整不同温度等级文件的首选存储层。本发明提出一种基于数据温度和节点性能的异构Hadoop存储方法,在根据存储介质类型将存储分层的基础上,根据访问频度、文件年龄、时间度将文件分为不同的文件温度等级,再由文件温度和存储策略之间的直接映射关系,将不同文件温度的文件存储在相应的存储器中。本发明所提出的异构Hadoop集群的存储方案,考虑了具有同类存储介质节点间的性能差异,这对于存储介质类型差别较小的集群是有效。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1为本发明的整体流程图。具体实施方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。本发明提供一种基于数据温度和节点性能的异构Hadoop存储方法,参考附图1,包括如下步骤:步骤S1,根据文件被访问频度、文件年龄、时间度,设定文件温度等级。本发明根据一个文件的访问频度和时间度定义了一个新的衡量单位:温度。文件的访问频度是决定数据温度的一个很重要的因素,另外两个需要考量的因素是文件最后被访问的时间和文件的年龄,考虑文件的年龄是因为数据集的一个共同特征是如果他们的使用频度降低其将会被重初始化。如果只考虑其中的一个因素将不适合Hadoop的工作负载。基于文件的访问时间可以计算特定时间内文件的访问次数:(1)Count_d:最近一天的访问次数。(2)Count_w:最近一个周的访问次数。(3)Count_m:最近一个月的访问次数。根据以上这些度量的值,本发明将文件温度等级分类为以下四种:热(HOT),温(WARM),冷(COLD),冰冻(FROZEN)。当文件年龄为小于一周,最近一天访问频度大于30时,则文件温度等级为热;当文件年龄为大于一周且小于一月,最近一天访问频度大于15,最近一周访问频度大于30时,则文件温度等级为温;当文件年龄为大于一月且小于三月,最近一周访问频度等于0,最近一月访问频度大于0时,则文件温度等级为冷;当文件年龄为大于三月且小于一年,最近一月访问频度等于0时,则文件温度等级为冰冻。每个文件都可以在表1中找到一个特定的温度映射,其中的访问模式综合了文件的最后访问时间和文件访问频度。表1基于访问模式的温度等级文件年龄访问模式温度等级小于一周Count_d>30热大于一周,小于一月Count_d>15&&Count_w>30温大于一月,小于三月Coutn_w=0&&Count_m>0冷大于三月,小于一年Count_m=0冰冻文件的温度是不断变化的,譬如说一个新的文件在最近可能会被频繁访问,因此其温度是热的,但是随着时间流逝,文件的年龄在增长,它会越来越少被使用,则其温度也会下降,变为温或者冷甚至是冰冻状态。步骤S2,根据文件被访问次数和文件温度等级,制定存储策略,建立文件温度和存储策略之间的直接映射。根据文件的访问次数以及表1可以确定文件的温度等级,一旦文件的温度等级被确定,就可以根据其温度等级来确定关于文件温度等级的存储策略。参考表二,文件温度和存储策略之间的直接映射为:当文件温度等级为热时,则块存储策略记为固态硬盘;当文件温度等级为温时,则块存储策略记为准固态硬盘;当文件温度等级为冷时,则块存储策略记为低性能磁盘;当文件温度等级为冰冻时,则块存储策略记为准档案存储器;当文件温度等级不在范围内时,则块存储策略记为磁盘。表2文件温度等级和HDFS数据块存储策略的映射文件温度等级块存储策略热(HOT)固态硬盘温(WARM)准固态硬盘不在文件温度等级范围内(N/A)磁盘(缺省)冷(COLD)低性能磁盘冰冻(FROZEN)准档案存储器其中各种块存储策略是由节点存储器的类型和节点性能Fi共同决定的。需要指出的是,鉴于目前大多数Hadoop集群中节点类别的情况,块存储策略记为固态硬盘、准固态硬盘、磁盘、低性能磁盘和准档案存储器,然而这并不代表集群里一定要有固态硬盘或者档案存储器等存储器类型。对于有不同存储器类型的集群来说,固态硬盘这个块存储策略可能代表全固态硬盘,也可能代表固态硬盘和磁盘的混合,也有可能代表全磁盘。以一个存储器的主要类型为磁盘,同时包含固态硬盘和档案存储器但占比较小(10%-20%),且其块副本数为3的Hadoop集群为例。步骤S3,根据节点存储器的类型和节点性能值,确定各种块存储策略;节点性能值的计算步骤如下:首先,根据节点性能值、磁盘性能值、内存性能值、CPU性能值的特点,建立节点性能和磁盘的I/O性能、内存性能和节点的CPU处理能力之间的线性回归模型和线性回归模型矩阵。;线性回归模型为:Fi=β1+β2Di+β3Mi+β4Ci+e,(1)其中,用Fi表示节点i的性能值,Di表示磁盘性能值,Mi表示内存性能值,Ci表示CPU性能值,e表示机器的运行时间、老化程度以及机器所处机房的室温灰尘等不可控因素,β1、β2、β3和β4为偏回归系数,β2为当计算机的内存和CPU不变时,其磁盘I/O能力每增加一个单位对节点性能值Fi的效应,β3和β4同理;将Di、Mi和Ci视为自变量,将e视为方差。线性回归模型矩阵为:F1F2...Fn=1D1M1C11D2M2C2............1DnMnCn×β1β2β3β4+e1e2...en,---(2)]]>上述矩阵可以用来求β1、β2、β3和β4的值,Di、Mi和Ci可以用计算机基准测量工具获得,Fi可以根据Hadoop作业日志中对任务的记录信息得到;其次,根据多个节点执行基准测试工具以及分析节点日志信息,获得多组节点性能值、磁盘性能值、内存性能值、CPU性能值,将上述获得的性能值作为多元回归模型的样本数据,使用最小二乘法计算线性回归模型中的偏回归系数,获得偏回归系数估计量矩阵。计算偏回归系数值包括以下步骤:首先,使用下面的公式进行计算节点i的性能值:公式为:Fi=Ej=1mtjm*S,---(3)]]>其中,i表示要计算的节点,m表示节点i在时间tj内完成的任务数,tj表示任务j执行的时间,S是一个常量,代表输入数据块的大小;其次,用多个节点执行基准测试工具以及分析节点日志信息,获得多组Fi、Di、Mi和Ci的值,这些值即为多元回归模型的样本数据;接着,根据样本数据,用最小二乘法对线性回归模型矩阵的多元回归模型进行参数估计,所谓最小二乘法,就是根据样本数据构造合适的估计量和使得方差ei的平方和最小;最后,获得偏回归系数估计量的矩阵为:β^=(X′X)-1X′Y]]>其中X为:Y为:且X'X满秩,当n≥4,样本容量不少于待估计参数个数。最后,将偏回归系数估计量矩阵中的偏回归系数估计量代入线性回归模型中,计算节点的性能值。此外,各种块存储策略如下:固态硬盘:对于温度等级为热的文件,先按照HDFS设置的副本放置策略,若存储空间允许,3个副本均首选存放在固态硬盘上;若本地机架和远程机架不存在空闲的固态硬盘节点,则将该副本放置在准固态硬盘层上;准固态硬盘:对于温度等级为温的文件,先按照HDFS设置的副本放置策略,若存储空间允许,将1个副本存放在固态硬盘上,另外2个副本存放在节点性能值Fi占比前30%的磁盘上;若本地机架和远程机架不存在空闲的固态硬盘和节点性能值Fi占比前30%的磁盘节点,则将该副本放置在磁盘层上;磁盘:对于温度没有落在任何一个文件温度等级上的文件,先按照HDFS设置的副本放置策略,若存储空间允许,3个副本均首选存放在节点性能值Fi占比30%-40%的磁盘上;若本地机架和远程机架不存在空闲的固态硬盘和节点性能值Fi占比前40%的磁盘节点,则将该副本放置在低性能磁盘层上;低性能磁盘:对于温度等级为冷的文件,先按照HDFS设置的副本放置策略,若存储空间允许,3个副本均首选存放在节点性能值Fi占比40%-70%的磁盘上;若本地机架和远程机架不存在空闲的固态硬盘和节点性能值Fi占比前70%的磁盘节点,则将该副本放置在准档案存储器上;准档案存储器:对于温度等级为冰冻的文件,该文件基本无访问或者很少有访问,按照HDFS设置的副本放置策略,将3个副本存放在节点性能值Fi占比后30%的磁盘和档案存储器上。以上分配方案是针对于特定存储器类型占比的集群,对于固态硬盘和档案存储器占比差值较大的集群,可以适当调整不同温度文件的首选存储层,这需要集群管理员综合考虑当前所运营Hadoop集群的具体情况。当创建一个文件或目录后,其存储策略是未定义的,可以用“dfsadmin–setStoragePolicy”命令来设定存储策略。同样的,若想得到一个文件或者目录当前的有效存储策略,可以执行命令“dfsadmin–getStoragePolicy”。计算好文件的温度并按其温度选择合适的存储层之后,如果随着时间的变化文件的温度上升或者下降,则需要相应地将文件迁移到性能更佳或稍差的存储层上,这可以通过对文件动态地设置存储策略来实现。步骤S4,根据文件温度等级和各种块存储策略之间的映射关系,将文件放置相应的存储器中。本发明提出一种基于数据温度和节点性能的异构Hadoop存储方法,在根据存储介质类型将存储分层的基础上,根据访问频度、文件年龄、时间度将文件分为不同的文件温度等级,再由文件温度和存储策略之间的直接映射关系,将不同文件温度的文件存储在相应的存储器中。本发明所提出的异构Hadoop集群的存储方案,考虑了具有同类存储介质节点间的性能差异,这对于存储介质类型差别较小的集群是有效。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。本发明的范围由所附权利要求极其等同限定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1