CN103425756B - 一种hdfs中数据块的副本管理策略 - Google Patents

一种hdfs中数据块的副本管理策略 Download PDF

Info

Publication number
CN103425756B
CN103425756B CN201310330292.0A CN201310330292A CN103425756B CN 103425756 B CN103425756 B CN 103425756B CN 201310330292 A CN201310330292 A CN 201310330292A CN 103425756 B CN103425756 B CN 103425756B
Authority
CN
China
Prior art keywords
copy
node
selection
data
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310330292.0A
Other languages
English (en)
Other versions
CN103425756A (zh
Inventor
伍卫国
樊源泉
姚超
魏伟
高颜
曹莹方
段章峰
朱霍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201310330292.0A priority Critical patent/CN103425756B/zh
Publication of CN103425756A publication Critical patent/CN103425756A/zh
Application granted granted Critical
Publication of CN103425756B publication Critical patent/CN103425756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种HDFS中数据块的副本管理策略,包括副本的启动时机的选择方法,副本个数的选择方法,副本位置的选择方法,以及新增副本的放置方法,副本的启动时机的选择方法是先确定启动周期,把一天当做一个访问周期来进行副本策略的启动,然后确定启动时刻;副本个数的选择方法是采用泊松分布来计算副本的个数,然后基于排队论的副本个数计算方法计算;副本位置的选择方法采用的副本放置策略在机架和节点的选择上,需要考虑节点的利用情况;新增副本的放置方法,新增副本位置选择在用户访问最多的节点所在机架中,在该机架中选择负载最轻的节点进行副本的创建,本发明提出了HDFS先副本策略,可以减少用户在访问HDFS数据时候的等待时间,提高系统吞吐量。

Description

一种HDFS中数据块的副本管理策略
技术领域
本发明属于计算机技术领域,具体涉及一种HDFS(HadoopDistributedFileSystem)中数据块的副本管理策略。
背景技术
Hadoop是由Apache开源组织开发的一个高可靠性和高可扩展性的存储与分布式并行计算平台,最早是作为开源搜索引擎项目Nutch的基础平台而开发的,之后从Nutch项目中独立出来,成为典型的开源云计算平台之一。Hadoop核心实现了按块存储的分布式文件系统(HadoopDistributedFileSystem,HDFS)以及用于分布式计算的MapReduce计算模型。
HDFS文件系统采用分块机制分布式存储数据集,并通过数据块冗余策略来提高系统可靠性,每个数据块在系统中都有多个副本同时存在,这些副本分布在系统中多个机架内的多个节点上,防止因单个节点出现故障造成数据块的丢失。此外,这种分布式冗余机制能保证文件的并发读取,使得HDFS更适合“一次写,多次读”的数据处理模式。为实现这种数据块冗余策略,HDFS文件系统在写入数据时必须保证有多个副本同时写入。
HDFS文件系统的副本模型主要有以下特点:当提交数据的节点也是HDFS文件系统中存储数据块的节点时,该节点上放置一份数据块的备份;该数据块的第一个副本会随机选择一个节点,第二个副本放置在和第一个副本所在主机处于同一个机架上的另外一个节点,第三个节点放置在另外一个机架上的随机的一个节点。这样的放置策略能够很好的满足分布式文件系统的容错性。
但是,该副本放置策略由于其随机特性,会导致数据的放置不均衡。同时,在云计算环境下会产生大量的数据,这些数据及其副本被存储在HDFS中,由于用户对数据的访问的不均衡性和不确定性,会导致一些数据在某一段时间内会被过多访问而成为热点数据。由于这些数据的副本个数是固定的,因此就会造成某些访问用户不能得到很快的响应时间,造成用户不确定的等待。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种HDFS中数据块的副本管理策略,解决HDFS中副本的个数选择以及数据的放置不均衡。
为了达到上述目的,本发明采取的技术方案为:
一种HDFS中数据块的副本管理策略,包括副本的启动时机的选择方法,副本个数的选择方法,副本位置的选择方法,以及新增副本的放置方法;
所述副本的启动时机的选择方法,具体步骤为:1)确定启动周期,把一天当作一个访问周期来进行副本策略的启动,这样一个访问周期也就是副本策略的启动周期;2)确定启动时刻,在确定了启动周期之后,副本的启动需要在启动周期内负载最轻的时刻启动。
所述副本个数的选择方法,具体步骤为:1)采用泊松分布来计算副本的个数,首先,通过namenode得到在最近一段时间内的用户访问数,找出需要备份的热点数据;其次,对于该热点数据,namenode能够得到它所有副本所在的datanode,通过读取包含有该热点数据副本的datanode的日志文件,记录下热点数据文件在一天内的所有访问时间间隔{t1,t2,t3……tm};然后,求得用户的平均访问到达率;最后,通过泊松分布求得副本数目;
2)基于排队论的副本个数计算方法,具体步骤如下:
第一步,建模分析,通过分析服务对象的到来时间以及服务时间,求得服务对象的等待时间、排队队列长度以及整个系统忙闲程度指标,然后根据这些指标来改进服务系统,提高系统效率,减少空闲时间,具体实现如下:根据标准的M/D/c排队论模型,用户访问到来的时候会排成一个队列,用户请求的数据在数据节点空闲的时候进行访问,每一个节点之间是相互独立的,平均服务率μ1=μ2=μ3=……=μR=μ,那么对于该文件数据来说整个系统的服务率就可以看做是Rμ,如果用户的平均访问到达率为λ,那么系统的繁忙的概率按照排队论理论,只有ρ<1的时候才不会形成无限队列,这就要求在用户的平均访问到达率λ大的时候,需要尽量多的副本数目R来满足ρ<1,理论上虽然能够通过R的值来满足这个条件,但是考虑到实际情况,R的数目也不是没有上限的,根据系统要求和分析,可以确定副本个数的取值范围;
第二步,确定副本个数的下限,在一个HDFS分布式文件系统的集群中,假设p为一个单一节点不出现故障的概率,A为系统的可用性要求,R为最低副本数目,根据概率论则有文件不可用的概率为(1-p)R,那么至少有一个副本可用的概率则为1-(1-p)R,所以系统的可用性A满足
1-(1-p)R3A,
从而得到副本的下限:
R &GreaterEqual; l o g ( 1 - A ) l o g ( 1 - p ) ;
第三步,确定副本个数的上限,假设系统中的总节点数目为N,副本数目为R,在某一段时间内,文件的总访问量为NA,某热点数据的总访问量为NAi,那么,在这一段时间内,比较合理的一种副本上限个数Rmax的确定为
R m a x N = NA i N A ,
由此得出副本个数的上限
R m a x = N * NA i N A ;
第四步,决策方法,采用M/D/C排队论模型来修正步骤1)中求得的副本数目。
所述副本位置的选择方法,具体步骤如下:1)Namenode给定机架中找到最低空间利用率的节点R_low;2)R_low在接收新的数据以后节点利用率是否超过设定指标R_hp,如果没有超过,则该节点被选择,节点所在机架记做RACK_1;如果超过,则选择所有节点中空间利用率最低的节点,该节点所在机架记做RACK_1;3)找到除了RACK_1中节点利用率最低的节点,并选择该节点,记它所在的机架RACK_2;4)在RACK_1中,找到利用率第二低的节点R_low_2;5)R_low_2在存放副本以后空间利用率是否超过R_hp,如果没有,则选取该节点,如果超过R_hp,则选取RACK_2中空间利用率第二低的节点;6)把数据存入选中的2个机架的3个节点中。
所述新增副本的放置方法,选择算法如下:1)选出热点数据访问量最大的节点所在机架RACK_1;2)在RACK_1中找出利用率最低节点R_low;3)查看R_low空间是否满足存储副本数据所需空间大小,如果空间不够,则将R_low加入不可用节点,重新选择节点;如果空间够则选择该节点创建副本;4)如果该机架所有节点都不够存储副本数据,则重新选择机架,继续步骤2;5)如果所有机架都没有节点来创建副本,则抛出异常,退出。
本发明的有益效果是:
针对HDFS中副本的放置不均衡,以及在出现热点数据的时候,由于副本的个数不能满足用户的需求,从而导致用户对热点数据的访问响应时间慢的问题,提出了HDFS先副本策略,可以减少用户在访问HDFS数据时候的等待时间,提高系统吞吐量。
附图说明
图1是副本放置策略算法流程图.
图2是新增副本放置策略算法流程图.
具体实施方式
下面结合附图对本发明作详细描述。
一种HDFS中数据块的副本管理策略,包括副本的启动时机的选择方法,副本个数的选择方法,副本位置的选择方法,以及新增副本的放置方法;
所述副本的启动时机的选择方法,采取了一种固定周期的副本策略,即在一个固定周期内启动一次副本策略,检查文件的访问情况,来决定副本数目的多少和位置,理论上,副本策略的启动只要在一个周期内启动一次即可,为了尽量减少副本数据复制对系统性能的影响,最优的方法就是在系统负载最轻的时刻完成副本策略的启动和副本数据复制的执行。具体步骤为:1)确定启动周期,把一天当作一个访问周期来进行副本策略的启动,这样一个访问周期也就是副本策略的启动周期,在这个时间里副本策略在适当的时间启动,完成副本数据的增加或者删除操作;2)确定启动时刻,在确定了启动周期之后,副本的启动需要在启动周期内负载最轻的时刻启动,一方面能够加快启动副本的速度,另一方面不影响其他用户对数据的访问,减少对网络的负载。具体实现步骤如下:(a)如果一个访问周期T从某一时刻t0开始,那么从t0开始把整个周期T平均划分为n份,每一份的时间长度保证能完成副本的复制任务即可;(b)在一个周期内假设总访问量为NA,那么,在这n个时间段内,找出访问量不足NA/n的时间段,分别记做{t1,t2,t3,……,tk};(c)根据这些时间段被用户访问的数量{NA1,NA2,NA3,NA1,……,NAk},求出这些时间段内的平均访问量N;(d)下一个访问周期,根据N的值选取启动时机,对于平均划分成n份的一个周期,每一个时间段刚开始的时候,先统计用户访问量,如果在该时间段的一半时,访问量没有到达N/2,那么启动副本策略;如果访问量超过N/2,那么统计数清零,下一个时间段开始继续统计;(e)每一个访问周期内只要有一个时间段副本策略启动,那么就设置副本策略启动标志位,记录该周期内副本策略已启动,在下一访问周期到来之前,无论负载多轻,副本策略都不会第二次启动;(f)在访问周期结束后,副本策略启动标志位设置为0,并把该周期的N值传给下一个访问周期。
所述副本个数的选择方法,具体步骤为:1)由于泊松分布具有平稳性,无后效性,普通性等特点,而且在云计算环境下,用户访问的到来是符合泊松分布的,因此,采用泊松分布来计算副本的个数,同时该方法有一些假设:(1)热点数据的访问人数是有限制的;(2)系统中的存储节点会远远多于热点数据的数目;(3)由于系统中的读取操作会远远多于写操作,暂时不考虑系统中的一致性问题;(4)在一段时间内文件的访问模式变化不大,即上一个周期的访问模式和下一个周期的访问模式基本一致。首先,通过namenode得到在最近一段时间内的用户访问数,找出需要备份的热点数据,Namenode会记录每一个用户的IP信息和访问文件信息,通过统计可以得知每一个文件和整个系统的访问量,记总的访问量为R,每一个文件fi的访问量mi。系统的热点数据是比较少的,所以热点数据的访问量往往占整个总访问量的比例很大,通过mi/R的比值确定当前系统中的热点数据,max(mi/R)的文件为热点数据,对于不同应用,热点数据可能有多个,因此可以选取前n个(mi/R)的文件作为热点数据处理,本文中只讨论最大的那一个文件;其次,对于该热点数据,namenode能够得到它所有副本所在的datanode,通过读取包含有该热点数据副本的datanode的日志文件,记录下热点数据文件在一天内的所有访问时间间隔{t1,t2,t3……tm};然后,求得用户的平均访问到达率,由于云计算环境下用户访问数据的时间是不确定的,导致部分的时间间隔非常大,因此,本发明取n=m*80%,取得所有时间间隔中最小的80%,记做{t1,t2,t3……tn}。另外,在选取这个时间序列的时候,可通过改变比例来调整算法对繁忙时间的敏感程度,选取的比例越小,算法结果越能体现繁忙时期的访问情况。通过该访问时间序列可以得知该文件的用户访问到达率就应该为
&lambda; = n &Sigma; i = 1 n t i ,
其中
λ——用户访问到达率;
n——取得访问时间间隔个数;
ti——访问时间间隔;
最后,通过泊松分布求得副本数目。用户访问到达符合泊松分布,那么在某一个时间段内t,到达k个用户访问的概率为用户访问云存储系统的文件,占用的是网络带宽资源和I/O资源,这段时间内其他用户是无法访问该节点的该文件,只能访问该文件在其他节点上存储的副本,因此文件的副本个数就可以通过预测用户访问文件这段时间内的用户达到数目来决定。用户访问文件的时间可以用文件大小size/网络带宽B来衡量,那么就有单个用户访问时间那么在用户访问时间段内的用户到达个数为k的概率就为
P ( X = k ) = e - &lambda; s i z e B ( &lambda; s i z e B ) k k ! , 式中:
P——用户访问数目为k的概率;
λ——用户访问到达率;
B——传输速度;
size——文件大小。
要满足k个用户的同时访问,理论上需要k个副本。但实际情况中,在k的值比较大的时候,文件被访问这段时间k个用户同时访问的概率已经非常小,因此本发明设置一个阈值Pmin,当Pk小于Pmin时,认为该种情况不存在,概率为0。这样就能找到最大的k值,只要有k个副本就可以满足系统并行访问特性;
2)基于排队论的副本个数计算方法,概率论的方法来对热点数据的副本个数进行决策在理论上能够满足用户的访问需求,但是策略没有一个副本上限,同时泊松分布中大部分的用户访问到达数目应该集中在λ值左右,通过概率论方法得出的副本个数的值会超出λ很多,而系统中出现这么多用户的概率也比较小,大部分时间系统中的副本数目是多余的。因此,在概率论的分析基础上引入排队论模型,加入用户队列的概念,使系统在大部分时间能满足用户并行访问,尽可能满足用户访问,又能减少空间浪费。具体步骤如下:
第一步,建模分析。通过分析服务对象的到来时间以及服务时间,求得服务对象的等待时间、排队队列长度以及整个系统忙闲程度等等指标,然后根据这些指标来改进服务系统,提高系统效率,具体实现如下:根据标准的M/D/c排队论模型,用户访问到来的时候会排成一个队列,用户请求的数据在数据节点空闲的时候进行访问,每一个节点之间是相互独立的,平均服务率μ1=μ2=μ3=……=μR=μ,那么对于该文件数据来说整个系统的服务率就可以看做是Rμ,如果用户的平均访问到达率为λ,那么系统的繁忙的概率按照排队论理论,只有ρ<1的时候才不会形成无限队列,这就要求在用户的平均访问到达率λ大的时候,需要尽量多的副本数目R来满足ρ<1,理论上虽然能够通过R的值来满足这个条件,但是考虑到实际情况,R的数目也不是没有上限的,根据系统要求和分析,可以确定副本个数的取值范围;减少空闲时间,排队论中的数量指标如下所示:
pn:一个系统中有n个用户的概率;
Ls:系统中的用户个数;
Lq:排队队列的用户个数;
Ws:整个系统中用户的平均等待时间;
Wq:排队队列用户在队列中的等待时间;
λ:用户访问到达率;
μ:服务台的服务率;
ρ:服务强度。
根据标准的M/D/c排队论模型,用户访问到来的时候会排成一个队列,用户请求的数据在数据节点空闲的时候进行访问。每一个节点之间是相互独立的,平均服务率μ1=μ2=μ3=……=μR=μ,那么对于该文件数据来说整个系统的服务率就可以看做是Rμ,如果用户的平均访问到达率为λ,那么系统的繁忙的概率按照排队论理论,只有ρ<1的时候才不会形成无限队列,这就要求在用户的平均访问到达率λ比较大的时候,需要尽量多的副本数目R来满足ρ<1,理论上虽然能够通过R的值来满足这个条件,但是考虑到实际情况,R的数目也不是没有上限的,根据系统要求和分析,可以确定副本个数的取值范围;
第二步,确定副本个数的下限。在一个HDFS分布式文件系统的集群中,假设p为一个单一节点不出现故障的概率,A为系统的可用性要求,R为最低副本数目,那么根据概率论则有文件不可用的概率为(1-p)R,那么至少有一个副本可用的概率则为1-(1-p)R,所以系统的可用性A满足
1-(1-p)R3A,
从而得到副本的下限:
R &GreaterEqual; l o g ( 1 - A ) l o g ( 1 - p ) ;
第三步,确定副本个数的上限。假设系统中的总节点数目为N,副本数目为R,在某一段时间内,文件的总访问量为NA,某热点数据的总访问量为NAi,那么,在这一段时间内,比较合理的一种副本上限个数Rmax的确定为
R m a x N = NA i N A ,
由此得出副本个数的上限
R m a x = N * NA i N A ;
第四步,决策方法。本发明采用M/D/C排队论模型来修正步骤1)中求得的副本数目,具体步骤如下:在排队论模型中,最重要的是分析在任意时刻t,系统中有n个客户的概率pn。M/D/c模型中的用户访问到来是服从参数为λ的泊松分布,服务时间服从参数为μ的均匀分布。在时间[t,t+Δt]内:1)达到一个客户的概率为λΔt+о(Δt),没有顾客达到的概率为1-λΔt+о(Δt);2)当n>R时,一个客户服务完离开的概率为RμΔt+о(Δt),没有客户离开的概率为1-RμΔt+о(Δt);3)当n<R时,一个客户服务完离开的概率为nμΔt+о(Δt),没有客户离开的概率为1-RμΔt+о(Δt);4)有多个客户到来和多个客户离开的概率都为о(Δt);由此可以得到 p n ( t + &Delta; t ) = p n ( t ) ( 1 - &lambda; &Delta; t - R u &Delta; t ) + p n + 1 R &mu; &Delta; t + p n - 1 &lambda; &Delta; t + o ( &Delta; t ) , n &GreaterEqual; R p n ( t ) ( 1 - &lambda; &Delta; t - n u &Delta; t ) + p n + 1 ( n + 1 ) &mu; &Delta; t + p n - 1 &lambda; &Delta; t + o ( &Delta; t ) , n < R
Δt→0时,可得到关于pn(t)的差分方程 dP n ( t ) d t = &lambda; p n - 1 ( t ) + R &mu; p n + 1 ( t ) - ( &lambda; + R &mu; ) p n ( t ) , n &GreaterEqual; R &lambda; p n - 1 ( t ) + ( n + 1 ) &mu; p n + 1 ( t ) - ( &lambda; + n &mu; ) p n ( t ) , n < R
排队论系统中研究的是系统在稳态的规律,所以pn(t)与t无关,可以写成pn,而且有pn(t)的导数应该为0。那么则有 &mu; p 1 = &lambda; p 0 ( n + 1 ) &mu;p n + 1 + &lambda;p n - 1 = ( &lambda; + n &mu; ) p n R&mu;p n + 1 + &lambda;p n - 1 = ( &lambda; + R &mu; ) p n 由于∑pn=1,可以解出
p 0 = 1 &Sigma; n = 0 R - 1 1 n ! ( &lambda; &mu; ) n + ( &lambda; &mu; ) R R ! ( 1 1 - &lambda; R &mu; )
p n = 1 n ! ( &lambda; &mu; ) n p 0 , ( n < R ) 1 R ! R n - R ( &lambda; &mu; ) n p 0 , ( n &GreaterEqual; R )
那么系统中资源请求队列的长度:
L s = L q + &lambda; &mu; L q = &Sigma; n = R + 1 &infin; ( n - R ) p n = ( R &rho; ) R &rho; R ! ( 1 - &rho; ) P 0
得到M/D/c排队论模型中的这些数量指标以后,就可以对副本个数进行量化求解。本文所采取的方法为确保用户排队队列中的用户数目不超过1个即可,所以
R=minR,R满足 { ( R &rho; ) R &rho; R ! ( 1 - &rho; ) P 0 < 1 } .
所述副本位置的选择方法,本发明采用的副本放置策略在机架和节点的选择上,需要考虑节点的利用情况,具体步骤如下:1)Namenode给定机架中找到最低空间利用率的节点R_low;2)R_low在接收新的数据以后节点利用率是否超过设定指标R_hp,如果没有超过,则该节点被选择,节点所在机架记做RACK_1;如果超过,则选择所有节点中空间利用率最低的节点,该节点所在机架记做RACK_1;3)找到除了RACK_1中节点利用率最低的节点,并选择该节点,记它所在的机架RACK_2;4)在RACK_1中,找到利用率第二低的节点R_low_2;5)R_low_2在存放副本以后空间利用率是否超过R_hp,如果没有,则选取该节点,如果超过R_hp,则选取RACK_2中空间利用率第二低的节点;6)把数据存入选中的2个机架的3个节点中,该算法的基本流程图如图1所示。
所述新增副本的放置方法,副本策略对热点数据增加副本后,也需要选择节点进行存储。新增副本的存放位置与默认副本放置位置关心的问题不同:默认副本放置位置注重的是系统的可靠性和可用性,以及尽量减少文件写入时数据传输经过的交换机个数,所以选择了2个机架的3个节点内;新增副本的目的则是为了方便用户访问,由于数据访问具有连续性特点,即在某一集群内的热点访问数据越密集,那么未来用户访问该集群热点数据的可能性比较大。因此,新增副本位置选择在用户访问最多的节点所在机架中,在该机架中选择负载最轻的节点进行副本的创建。新增副本位置选择算法如下:1)选出热点数据访问量最大的节点所在机架RACK_1;2)在RACK_1中找出利用率最低节点R_low;3)查看R_low空间是否满足存储副本数据所需空间大小,如果空间不够,则将R_low加入不可用节点,重新选择节点;如果空间够则选择该节点创建副本;4)如果该机架所有节点都不够存储副本数据,则重新选择机架,继续步骤2;5)如果所有机架都没有节点来创建副本,则抛出异常,退出。该算法流程图如图2所示。

Claims (1)

1.一种HDFS中数据块的副本管理方法,其特征在于:包括副本的启动时机的选择方法,副本个数的选择方法,副本位置的选择方法,以及新增副本的放置方法;
所述副本的启动时机的选择方法,具体步骤为:1)确定启动周期,把一天当作一个访问周期来进行副本策略的启动,这样一个访问周期也就是副本策略的启动周期;2)确定启动时刻,在确定了启动周期之后,副本的启动需要在启动周期内负载最轻的时刻启动;
所述副本个数的选择方法,具体步骤为:1)采用泊松分布来计算副本的个数,首先,通过namenode得到在最近一段时间内的用户访问数,找出需要备份的热点数据;其次,对于该热点数据,namenode能够得到它所有副本所在的datanode,通过读取包含有该热点数据副本的datanode的日志文件,记录下热点数据文件在一天内的所有访问时间间隔{t1,t2,t3……tm};然后,求得用户的平均访问到达率;最后,通过泊松分布求得副本数目;2)基于排队论的副本个数计算方法,具体步骤如下:
第一步,建模分析,通过分析服务对象的到来时间以及服务时间,求得服务对象的等待时间、排队队列长度以及整个系统忙闲程度指标,然后根据这些指标来改进服务系统,具体为:根据标准的M/D/c排队论模型,用户访问到来的时候会排成一个队列,用户请求的数据在数据节点空闲的时候进行访问,每一个节点之间是相互独立的,平均服务率μ1=μ2=μ3=……=μR=μ,那么对于该数据来说整个系统的服务率就可以看做是R×μ,其中R为副本数目,如果用户的平均访问到达率为λ,那么系统的繁忙的概率按照排队论理论,只有ρ<1的时候才不会形成无限队列,这就要求在用户的平均访问到达率λ大的时候,需要尽量多的副本数目R来满足ρ<1,实际情况R的数目也不是没有上限的,根据系统要求和分析,确定副本个数的取值范围;
第二步,确定副本个数的下限,在一个HDFS分布式文件系统的集群中,假设p为一个单一节点不出现故障的概率,A为系统的可用性要求,R为副本数目,那么根据概率论则有文件不可用的概率为(1-p)R,那么至少有一个副本可用的概率则为1-(1-p)R,所以系统的可用性A满足
1-(1-p)R≥A,
从而得到副本的下限:
R &GreaterEqual; l n | ( 1 - A ) ln | ( 1 - P ) ;
第三步,确定副本个数的上限,假设系统中的总节点数目为N,副本数目为R,在某一段时间内,文件的总访问量为NA,某热点数据的总访问量为NAi,那么,在这一段时间内,比较合理的一种副本上限个数Rmax的确定为
R m a x N = NA i N A ,
由此得出副本个数的上限
R m a x = N * NA i N A ;
第四步,决策方法,采用M/D/c排队论模型来修正所述副本个数的选择方法步骤1)中求得的副本数目;
所述副本位置的选择方法,具体步骤如下:1)Namenode给定机架中找到最低空间利用率的节点R_low;2)R_low在接收新的数据以后节点利用率是否超过设定指标R_hp,如果没有超过,则该节点被选择,节点所在机架记做RACK_1;如果超过,则选择所有节点中空间利用率最低的节点,该节点所在机架记做RACK_1;3)找到除了RACK_1中节点利用率最低的节点,并选择该节点,记它所在的机架RACK_2;4)在RACK_1中,找到利用率第二低的节点R_low_2;5)R_low_2在存放副本以后空间利用率是否超过R_hp,如果没有,则选取该节点,如果超过R_hp,则选取RACK_2中空间利用率第二低的节点;6)把数据存入选中的2个机架的3个节点中;
所述新增副本的放置方法,选择算法如下:1)选出热点数据访问量最大的节点所在机架RACK_1;2)在RACK_1中找出利用率最低节点R_low;3)查看R_low空间是否满足存储副本数据所需空间大小,如果空间不够,则将R_low加入不可用节点,重新选择节点;如果空间够则选择该节点创建副本;4)如果该机架所有节点都不够存储副本数据,则重新选择机架,继续步骤2);5)如果所有机架都没有节点来创建副本,则抛出异常,退出。
CN201310330292.0A 2013-07-31 2013-07-31 一种hdfs中数据块的副本管理策略 Active CN103425756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310330292.0A CN103425756B (zh) 2013-07-31 2013-07-31 一种hdfs中数据块的副本管理策略

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310330292.0A CN103425756B (zh) 2013-07-31 2013-07-31 一种hdfs中数据块的副本管理策略

Publications (2)

Publication Number Publication Date
CN103425756A CN103425756A (zh) 2013-12-04
CN103425756B true CN103425756B (zh) 2016-06-29

Family

ID=49650495

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310330292.0A Active CN103425756B (zh) 2013-07-31 2013-07-31 一种hdfs中数据块的副本管理策略

Country Status (1)

Country Link
CN (1) CN103425756B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105981033B (zh) * 2014-02-14 2019-05-07 慧与发展有限责任合伙企业 将放置策略分配给片段集合
CN103997512B (zh) * 2014-04-14 2017-06-30 南京邮电大学 一种面向云存储系统的数据副本数量确定方法
CN104063501B (zh) * 2014-07-07 2017-06-16 电子科技大学 基于hdfs的副本平衡方法
CN104881245A (zh) * 2014-12-30 2015-09-02 北京飞杰信息技术有限公司 存储系统的配置方法及配置装置
CN106156125B (zh) * 2015-04-08 2019-08-23 中国人民解放军国防科学技术大学 一种基于不同数据组织方式的虚拟身份管理系统副本的方法
CN105574153A (zh) * 2015-12-16 2016-05-11 南京信息工程大学 一种基于文件热度分析和K-means的副本放置方法
CN108153759B (zh) * 2016-12-05 2021-07-09 中国移动通信集团公司 一种分布式数据库的数据传输方法、中间层服务器及系统
CN106886376B (zh) * 2017-03-30 2019-08-30 上海海洋大学 一种基于多属性最优化的海洋监测数据副本管理方法
CN107239550A (zh) * 2017-06-07 2017-10-10 中南大学 一种在键值存储数据库中高效简单的副本选择方法
CN108462736B (zh) * 2018-01-21 2021-02-09 肖芳 一种面向QoS的云存储数据副本存储方法
CN108519856B (zh) * 2018-03-02 2020-10-27 西北大学 基于异构Hadoop集群环境下的数据块副本放置方法
CN108470070A (zh) * 2018-03-29 2018-08-31 重庆大学 一种多元时间序列数据分布存储及恢复方法
CN109522289A (zh) * 2018-10-30 2019-03-26 咪咕文化科技有限公司 副本的存放处理方法、装置及计算机存储介质
US11216190B2 (en) * 2019-06-10 2022-01-04 Samsung Electronics Co., Ltd. Systems and methods for I/O transmissions in queue pair-based NVMeoF initiator-target system
CN110457280B (zh) * 2019-08-02 2022-09-23 南京邮电大学 一种hdfs副本再复制改进方法
CN110636058B (zh) * 2019-09-16 2020-08-21 湖南德善信医药科技有限公司 基于大数据的信息安全系统和方法
CN116088763B (zh) * 2023-02-09 2023-07-18 北京志凌海纳科技有限公司 一种最优化恢复速率的副本分配策略系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187931A (zh) * 2007-12-12 2008-05-28 浙江大学 分布式文件系统多文件副本的管理方法
JP2009187101A (ja) * 2008-02-04 2009-08-20 Brother Ind Ltd コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
EP2410431A1 (en) * 2009-03-19 2012-01-25 Murakumo Corporation Method and system for data replication management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101187931A (zh) * 2007-12-12 2008-05-28 浙江大学 分布式文件系统多文件副本的管理方法
JP2009187101A (ja) * 2008-02-04 2009-08-20 Brother Ind Ltd コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
EP2410431A1 (en) * 2009-03-19 2012-01-25 Murakumo Corporation Method and system for data replication management

Also Published As

Publication number Publication date
CN103425756A (zh) 2013-12-04

Similar Documents

Publication Publication Date Title
CN103425756B (zh) 一种hdfs中数据块的副本管理策略
Ananthanarayanan et al. Scarlett: coping with skewed content popularity in mapreduce clusters
CN103106152B (zh) 基于层次存储介质的数据调度方法
CN103595805A (zh) 一种基于分布式集群的数据放置方法
CN106462544A (zh) 分布式存储系统中的会话管理
CN106462545A (zh) 可缩放文件存储服务
CN106104511A (zh) 基于块的存储的页面高速缓存存录
CN104133882A (zh) 一种基于hdfs的小文件处理方法
CN103139302A (zh) 考虑负载均衡的实时副本调度方法
CN104969213A (zh) 用于低延迟数据存取的数据流分割
CN106445409A (zh) 一种分布式块存储的数据写入方法及装置
CN102104494B (zh) 元数据服务器、带外网络文件系统及其处理方法
CN105915626B (zh) 一种面向云存储的数据副本初始放置方法
CN104869140A (zh) 多集群系统和控制多集群系统的数据存储的方法
CN111443867B (zh) 一种数据存储方法、装置、设备及存储介质
CN103095812A (zh) 一种基于用户请求响应时间的副本创建方法
Selvi et al. Popularity (hit rate) based replica creation for enhancing the availability in cloud storage
CN107566341A (zh) 一种基于联邦分布式文件存储系统的数据持久化存储方法及系统
CN106294526B (zh) 一种分级存储系统中的海量小文件迁移方法
Soosai et al. Dynamic replica replacement strategy in data grid
Zhao et al. A weight-based dynamic replica replacement strategy in data grids
CN103152377B (zh) 一种面向ftp服务的数据访问方法
Tabet et al. A data replication strategy for document-oriented NoSQL systems
Lu et al. Adaptive consistency guarantees for large-scale replicated services
Séguéla et al. Energy and expenditure aware data replication strategy

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant