CN104978236A - 一种基于多衡量指标的hdfs负载源宿节点选取方法 - Google Patents

一种基于多衡量指标的hdfs负载源宿节点选取方法 Download PDF

Info

Publication number
CN104978236A
CN104978236A CN201510395258.0A CN201510395258A CN104978236A CN 104978236 A CN104978236 A CN 104978236A CN 201510395258 A CN201510395258 A CN 201510395258A CN 104978236 A CN104978236 A CN 104978236A
Authority
CN
China
Prior art keywords
node
load
hdfs
queue
sourcesink
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.)
Granted
Application number
CN201510395258.0A
Other languages
English (en)
Other versions
CN104978236B (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.)
Sichuan University
Original Assignee
Sichuan 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 Sichuan University filed Critical Sichuan University
Priority to CN201510395258.0A priority Critical patent/CN104978236B/zh
Publication of CN104978236A publication Critical patent/CN104978236A/zh
Application granted granted Critical
Publication of CN104978236B publication Critical patent/CN104978236B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于多衡量指标的HDFS负载源宿节点选取方法,属于互联网数据存储领域,包括以下步骤:1)采用AHP方法量化数据节点的负载值;2)采用朴素贝叶斯算法对数据节点进行分类,并按步骤1)量化出的节点的实际负载值进行内部排序;3)根据定义好的节点选取策略选取源宿节点。本发明的有益效果如下:该方法能够有效地解决HDFS源宿节点选取不准确而导致集群性能下降的问题,使得HDFS集群拥有更佳的均衡效果,减少了HDFS集群负载均衡的频率,降低了HDFS集群用于负载均衡的资源消耗,有效改善HDFS集群的整体性能。

Description

一种基于多衡量指标的HDFS负载源宿节点选取方法
技术领域
本发明属于互联网数据存储领域,具体涉及一种基于多衡量指标的HDFS负载源宿节点选取方法。
背景技术
近年来,随着社会信息化程度的提高和互联网技术的飞速发展,越来越多的人使用互联网络来获取所需的信息、购物以及娱乐。随之产生的海量数据对各类数据存储和处理中心的服务器提出了更高的要求,尤其是如何存储这些海量信息和对海量数据的处理。云计算和云存储亦是在此背景下应用而生,而Hadoop是发展势头较好且比较成熟的云计算平台之一,国内外一些大型企业和研究机构都在利用Hadoop的工作机制,开发和构建各自的云计算平台。HDFS(Hadoop Distribute File System,Hadoop分布式文件系统)作为Hadoop中负责海量数据存储的云存储系统,它不仅在应用领域得到广泛使用,而且也得到了学术界的极大关注。
由于在HDFS中节点数量多,组成复杂,个体资源配置差异大,随着用户数据的增速加剧,用户数据也许并不是非常均匀的分布在各个数据节点中的,常见的原因是往HDFS增添新的数据节点,从而造成数据节点间数据负载不均衡,使HDFS的效率和吞吐率降低,甚至可能会导致HDFS日常运行的不稳定,严重影响服务的质量。而负载均衡技术是保证云存储系统稳健运行的重要方法。一种好的负载均衡算法则能有效的解决以上这些问题,能够保障集群稳定的运行。
如果HDFS的负载均衡策略不能具有良好的适应性,则很有可能会造成HDFS中一些数据节点过于忙碌而成为访问“热点”,而有些数据节点则未充分 发挥各自的处理计算能力的情况处于空闲状态,从而会造成集群系统各数据节点负载不均衡,继而影响集群的整体性能,严重的情况下会导致数据节点瘫痪而造成网络服务的中断,甚至可能会引发集群中的连锁反应,进而可能会演化成集群系统的灾难。
HDFS默认负载均衡算法根据磁盘空间使用率的一个负载指标来反映各数据节点的工作负载,并由主节点负责所有节点的负载计算,最后在选取负载迁移源宿节点时根据预先定义好的策略随机选取。默认算法在均衡过程中,单一指标无法真实反映个节点的实际工作负载状况,主节点负责计算负载会导致主节点的负载加重,而源宿节点选取的随机性可能会导致部分负载迁移不准确,从而使得部分节点工作负载过重而使其性能下降,甚至可能会出现数据节点瘫痪的状况,进而影响HDFS整体的性能。因此,研究HDFS负载均衡算法具有很重要的意义。
1.与本发明相关的现有技术一
1.1.现有技术一的技术方案
目前,国内外针对HDFS数据负载均衡算法的改进主要有两个方面:
1)根据集群状况动态改变阈值,而无需管理员手动输入阈值;
2)根据各个节点的网络状况,动态改变用于均衡的网络带宽,以减少集群用于负载均衡的时间。
这两方面的改进虽然对单一指标问题和主节点负载加重问题都提出了解决方案,但是并未针对HDFS默认负载均衡算法中源宿节点选取策略进行改进,即沿用了HDFS默认算法源宿节点选取策略。
在HDFS负载均衡过程中,负载均衡器会向主节点请求一份数据节点报告,在收到报告之后,使用获得的信息,计算出网络拓扑、集群平均存储使用率, 然后把各个数据节点分成过载节点、负载节点、存储使用率高于平均水平的节点和低于平均水平的节点四类,再判断是否有节点处于过载和负载状态(也即过载节点列表和负载节点列表中是否有机器),如果是则继续,否则退出。如果判断可继续,则遍历过载节点列表和负载节点列表以生成负载重新分配策略。
HDFS生成负载重新分配策略的过程包括以下步骤:
a、选择数据移动的源节点和目的节点,选择依据如下:
1)对于负载节点,依据以下条件随机选取作为其源节点,条件优先级自上而下递减:
①同一机架上的过载节点;
②同一机架上的高于平均使用率的节点;
③其他机架上的过载节点;
④其他机架上的高于平均使用率的节点。
2)对于过载节点,依据以下条件随机选取作为其目标节点,条件优先级自上而下递减:
①同一机架上的负载节点;
②同一机架上的低于平均使用率的节点;
③其他机架上的负载节点;
④其他机架上的低于平均使用率的节点。
b、计算每个源节点到每个目标节点要移动的数据量。如果源节点是过载节点,则看容积允许偏差值是否大于1GB,大于则取1GB,否则取允许偏差值。如果源节点只是高于平均使用率而没有达到过载的条件,则看该节点实际容积率与集群平均容积率之差是否大于2GB,大于取2GB,否则取前者。目标节点 也同理计算。
1.2现有技术一的技术缺陷:
可以看到HDFS默认源宿节点选取方案没有根据实际的节点工作负载来选取,而是随机的从队列中进行选取,存在一定的缺陷。
2与本发明相关的现有技术二
2.1现有技术二的技术方案
中国专利公开号为104063501A的专利,该发明公开了一种基于HDFS的副本平衡方法,其在集群配置项中设计抽象Performance类,并通过心跳信息收集各DataNode的性能数据,在数据迁移时,DataNode的匹配除了需要符合现有Balancer程序的节点匹配规则外,还需要参考DataNode的性能指标数据,按照DataNode的性能评分和存储量的比值进行评价,并在评价最优和评价最差的DataNode之间进行匹配,使DataNode存放的数据量正比于DataNode的性能,提高HDFS分布式文件系统负载均衡能力,提升集群性能。在组建集群时,无需考虑集群中各节点配置的性能差异。
该发明中针对HDFS默认的源宿节点选取策略进行了改进。该发明的主要步骤如下:
1)、集群配置:
设计用于代表DataNode性能评价指标的Performance类,Performance类提供一个用于获得对应的性能数据的getPerformance方法;定义对应DataNode各性能指标的性能类,性能类是继承Performance类的子类;在HDFS通讯协议的心跳信息中增加对应性能类的性能指标数据;
2)、数据收集:
DataNode通过getPerformance方法收集与各性能类对应的性能指标数据; 然后由DataNode定时发送心跳信息,将上述与各性能类对应的性能指标数据发送给NameNode,并由NameNode保存上述与各性能类对应的性能指标数据;
3)、执行Balancer程序:
由RebalanceServer从NameNode中获取各DataNode的性能指标数据;
①根据获取的性能指标数据,计算各DataNode性能评分;
②计算各DataNode性能评分与其存储量的比值α,以及各DataNode的α值的平均值αavg
③通过Balancer命令的threshold参数获取允许的性能误差范围,根据αavg结合threshold参数确定DataNode性能的目标范围;将α值优于目标范围的DataNode、α值在目标范围内的DataNode以及α值差于目标范围的DataNode划分为Qover、Qmid、Qunder三个队列;
④匹配DataNode,包括如下步骤:
i.若Qunder和Qover均非空,则将Qunder中DataNode和Qover中的DataNode进行匹配;若Qunder为空而Qover非空,则将Qmid中性能最差的DataNode和Qover中的DataNode进行匹配;若Qunder非空而Qover为空,则将Qmid中性能最优的DataNode与Qunder中的DataNode进行匹配;
ii.若3.5.1选取的两DataNode符合Balancer程序的节点匹配规则,则执行DataNode的匹配,进入步骤6,否则重复步骤i;
⑤数据块选择:从待迁出DataNode中选择数据块,若数据块符合Balancer程序的数据块选取规则,则执行数据迁移任务,否则重新选择数据块;
⑥完成数据迁移任务后,重新计算迁出DataNode和迁入DataNode的α值,并将两者放入合适的队列中;
⑦重复5、6和7,直至Qover和Qunder均为空。
该发明的特征在于:
1)在集群配置步骤中定义的性能类包括用于获得DataNode的CPU速度的CpuPerformance类、用于获得DataNode的内存容量的MemoryPerformance类和用于获得DataNode的磁盘容量的DiskPerformance类。
2)在集群配置步骤中分别配置各性能类对应的权重;在步骤1中,由RebalanceServer首先从NameNode中的获取各DataNode的性能指标数据及各性能类对应的权重;在步骤2计算各DataNode性能评分时,根据各性能对应的性能指标数据及其权重计算各DataNode的性能评分。
3)在所述步骤2中,根据获取的性能指标数据和权重,采用TOPSIS算法计算各DataNode性能的最优值、最差值和贴近度,并以贴近度作为其性能评分。
2.2现有技术二的缺陷:
该发明中,源宿节点选取策略中,(静态)将DataNode分为三个队列,但是在分为三个队列的过程中只是将HDFS默认算法中四个队列中的高于平均和低于平均的两个队列合二为一,而且还需要管理员手动输入阈值,在一定程度上与管理员的主观意向关联较大。
涉及到的名词解释:
AHP(Analytic Hierarchy Process,层次分析法)方法是由Thomas L.Saaty在20世纪70年代初所提出的,其主要是用在处理有不确定情形以及多个衡量属性准则的问题上来提供一种阶层的概念,它将待解决问题的结构分为由上至下相关的几层,可使得问题更有科学性和可读性,而且两两在相对的属性比较时采用成对的比较,从而建立一个比较矩阵,并求出此比较矩阵的特征向量后,其特征向量就代表了一个方案之间属性的比重,就因此获取到各层属性之间的 比重以后,便可以得到最终选取方案的优劣次序。
朴素贝叶斯分类算法(Naive Bayes,NB)的模型起源于古典数学理论,它有着非常坚实的数学理论基础。与其他的分类算法相比,比如决策树、人工神经网络等,NB不仅仅有着稳定的分类效率,而且也是最有效、简单且实用的分类算法。其假设在各项条件项相互独立的情况下它的分类效果是最精确的。它的基本思想是:先提供一些待分类的数据项,再求出在此项出现的条件下所有类别中各个类别的概率,哪个的概率最大,则此待分类项就是属于哪个类别。
发明内容
本发明针对现有技术的不足,提供了一种基于多衡量指标的HDFS负载源宿节点选取方法,能够有效的解决有效地解决HDFS源宿节点选取不准确而导致集群性能下降的问题。
为解决以上问题,本发明采用的技术方案如下,一种基于多衡量指标的HDFS负载源宿节点选取方法,包括以下步骤:
1)采用AHP方法量化数据节点的负载值;
2)采用朴素贝叶斯算法对数据节点进行分类,并按步骤1)量化出的节点的实际负载值进行内部排序;
3)根据定义好的节点选取策略选取源宿节点。
作为优选,步骤1)具体主要包括如下方法:
(1)构建好服务器负载层次结构模型;
(2)构造各个因素或者指标之间重要程度的判断矩阵;
A 1 = U 11 U 12 U 13 U 14 U 15 U 21 U 22 U 23 U 24 U 25 U 31 U 32 U 33 U 34 U 35 U 41 U 42 U 43 U 44 U 45 U 51 U 52 U 53 U 54 U 55 , A 2 = T 11 T 12 T 13 T 21 T 22 T 23 T 31 T 32 T 33 , A = A 11 A 12 A 21 A 22
其中A1、A2、A3分别代表步骤(1)层次结构模型中的性能指标、时间指标和负载总指标的判断矩阵。
(3)计算各个因素或者指标的相对权重,即计算判断矩阵的权重向量;
(4)判断矩阵的一致性检验,验证通过后即得到最终的权向量;
(5)采用公式计算出负载衡量的度量值。
作为优选,步骤2)采用朴素贝叶斯对节点进行分类,主要步骤如下:
使用朴素贝叶斯算法,对最新一次负载信息进行分类,分为三类:过载类、均衡类、空闲类,并存储在一个结果文件中以供源宿节点选取策略使用;根据分类结果文件中的数据,将节点放入对应的队列中,并对队列进行排序。
作为优选,所述步骤3)所述的节点策略具体如下:
(1)如果过载队列为空,则直接停止负载均衡器;否则,均衡器则从过载队列中选取一个负载量最大的节点作为源节点存入源节点队列中;
(2)从空闲队列选取目标节点,如果空闲队列为空,则判断均衡类节点队列是否为空:
(2.1)如果均衡类节点也为空,则提示管理员整个集群节点均处于负载过重,需要增加新服务器来扩展集群性能;
(2.2)如果均衡队列不为空则判断该队列是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择该队列同机架中负载最小的节点作为目标节点。
(3)如果空闲队列不为空,则判断是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择同机架中负载最小的节点作为目标节点。
作为优选,还包括4)对选取后的源宿节点进行双重验证:
利用源宿节点的实际负载值和负载特征向量,根据定义好的分类阈值和负载计算函数,得到源宿节点的负载是属于哪个类别,再与分类得到的结果进行对比,如果相同则通过验证,可以进行负载迁移,反之需重新选取源宿节点。
本发明的有益效果如下:
本发明提出一种基于多衡量指标的HDFS负载源宿节点选取方法,该方法能够有效地解决HDFS源宿节点选取不准确而导致集群性能下降的问题,使得HDFS集群拥有更佳的均衡效果,减少了HDFS集群负载均衡的频率,降低了HDFS集群用于负载均衡的资源消耗,有效改善HDFS集群的整体性能。
具体如下诉述:
(1)采用NB根据数据节点的历史负载信息,采用Hadoop自带Map/Reduce机制对节点进行分类,不会过多的占用HDFS集群的资源,保证负载均衡器的执行性能;
(2)将数据节点分为三个类别:过载类、均衡类、空闲类,并根据实际负载大小进行内部排序;
(3)在源宿节点选取过程中,针对NB分类存在的误判率,引进了双重验证功能,保障了源宿节点选取过程的准确性,进而能使得负载迁移更加合理准确;
(4)在均衡过程中无需管理员再主观输入均衡的阈值,在一定程度上能够提升集群管理员的工作效率。
附图说明
图1是本发明中数据节点负载量化层次结构模型图;
图2是本发明中基于朴素贝叶斯负载迁移策略的流程图;
图3是本发明中源宿节点选取流程图;
图4是本发明中节点分类阈值图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步详细说明。
实施例1:使用AHP方法量化服务器实际工作负载时,主要步骤如下:
(1)构建好服务器负载层次结构模型(如图1所示);
(2)构造各个因素或者指标之间重要程度的判断矩阵;
A 1 = U 11 U 12 U 13 U 14 U 15 U 21 U 22 U 23 U 24 U 25 U 31 U 32 U 33 U 34 U 35 U 41 U 42 U 43 U 44 U 45 U 51 U 52 U 53 U 54 U 55 , A 2 = T 11 T 12 T 13 T 21 T 22 T 23 T 31 T 32 T 33 , A = A 11 A 12 A 21 A 22
由’1-9标度表’得到量化后的矩阵如下:
A 1 = 1 1 / 5 1 / 7 1 / 3 1 / 3 5 1 1 3 3 7 1 1 1 3 3 1 / 3 1 1 1 3 1 / 3 1 / 3 1 1 , A 2 = 1 1 / 3 2 3 1 5 1 / 2 1 / 5 1 , A = 1 3 1 / 3 1
其中A1、A2、A3分别代表步骤一层次结构模型中的性能指标、时间指标和负载总指标的判断矩阵。
(3)计算各个因素或者指标的相对权重,即计算判断矩阵的权重向量;
本发明采用的是和积法计算判断矩阵的最大特征向量的近似值,并得到的最终结果如下:
ω A 1 ′ = ( 0.05 , 0.35 , 0.30 , 0.17 , 0.13 ) T , ω A 2 ′ = ( 0.23 , 0.65 , 0.12 ) T , ω′A=(0.75,0.25)T
(4)判断矩阵的一致性检验,验证通过后即得到最终的权向量,计算结果如下所示:
ω A 1 = ω A 1 ′ = ( 0.05 , 0.35 , 0.30 , 0.17 , 0.13 ) T
ω A 2 = ω A 2 ′ = ( 0.23 , 0.65 , 0.12 ) T
ωA=ω′A=(0.75,0.25)T
(5)最后计算出负载衡量的度量值,采用公式得到最终的负载计算模型如下:
L i = ( 0.05 * U Storage i + 0.35 * U IO i + 0.30 * U BandW i + 0.17 * U CPU i + 0.13 * U Mem i , 0.23 * T 1 + 0.65 * T 2 + 0.12 * T 3 ) × ( 0.75 , 0.25 ) T = 0.0375 * U Storage i + 0.2625 * U IO i + 0.255 * U BandW i + 0.1275 * U CPU i + 0.0975 * U Mem i + 0.0575 * T 1 + 0.1625 * T 2 + 0.03 * T 3 ( 3 - 25 )
由负载计算函数得到各个节点的负载值后,各数据节点通过心跳信息把负载值发送给主节点进行维护和处理。
采用朴素贝叶斯对节点进行分类:
本发明中利用主节点收到的节点历史负载信息,因各个属性相互独立,所以使用NB算法,对最新一次负载信息进行分类,存储在一个结果文件中以供源宿节点选取策略使用。
源宿节点选取策略:
本发明中的源宿节点选取策略是根据分类结果文件中的数据,将节点放入对应的队列中,并对队列进行排序。排序后,根据以下策略进行源宿节点选取,并对选取后的结果进行验证,保证选取节点的准确性:
(1)如果过载队列为空,则直接停止负载均衡器。
(2)如果过载队列不为空,均衡器则从过载队列中选取一个负载量最大的节点作为源节点存入源节点队列中。
(3)接着从空闲队列选取目标节点,如果空闲队列为空,则判断均衡类节点队列是否为空。
i.如果均衡类节点也为空,则提示管理员整个集群节点均处于负载过重,需要增加新服务器来扩展集群性能。
ii.如果均衡队列不为空则判断该队列是否存在同机架的节点,如果不存 在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择该队列同机架中负载最小的节点作为目标节点。
(4)如果空闲队列不为空,则判断是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择同机架中负载最小的节点作为目标节点。
选取完源宿节点之后,对源宿节点进行验证。验证过程是利用源宿节点的实际负载值和负载特征向量,根据定义好的分类阈值和负载计算函数,得到源宿节点的负载是属于哪个类别,再与分类器得到的结果进行对比,如果相同表示分类没有问题,可以进行负载迁移。反之得从步骤1重新选取源宿节点。
实施例2:
图1是本发明中量化服务器负载层次结构模型图;
在前人的研究中,对集群中服务器负载的衡量是由一个或者多个指标的组合来估算的,主要的指标如下:
●存储空间使用率
●磁盘I/O访问率
●服务响应时间
●CPU利用率
●内存使用率 
●任务数量 
●网络通信的响应延迟时间
●虚拟内存使用率
●当前活动任务的累积处理时间
●CPU温度
●网络带宽使用率
●故障时间 
本发明中针对分布式集群系统均衡的侧重点是数据的均衡,也就是说,只是针对HDFS中对文件的操作,包括上传和下载文件,由此可知,这种场景之下,对集群系统中的主要压力是来自于对文件的读写操作。所以,本文提出的算法将对数据服务器磁盘I/O访问率纳入负载量的主要考量指标,同时,再参考其他大部分针对HDFS负载均衡算法改进的研究中,大部分都使用到了CPU使用率,内存使用率,存储空间使用率,以及带宽使用率等一个或者多个指标的组合来作为负载量大小的衡量指标。
最终,经过认真的研究和分析,在HDFS默认的对数据负载均衡策略的基础上,选择能够更加精确的反映服务器实际工作负载的指标,并遵循HDFS集群的完整性、可衡量性、独立性、简明性等原则,本发明选取如图1中所示作为衡量服务器负载的指标。
在图1中,负载量总指标包含两个子指标,即服务器性能指标A1和服务器时间指标A2。服务器性能指标主要是对服务器的工作性能进行衡量,这其中包括了一些能够综合体现服务器负载量大小的衡量指标:磁盘空间使用率、磁盘I/O访问率、网络带宽使用率、CPU使用率以及内存使用率。在服务器时间指标中,本文将服务响应时间、平均故障时间和网络响应延迟时间这三个指标纳入考量范围,因为这些指标与服务器接收服务的可靠性有着很大的关系。
实施例3:
图2是本发明中基于朴素贝叶斯负载迁移策略的流程图:
其主要步骤如下:
1)主节点收集节点的负载信息,并存入文件中。
2)用NB算法根据节点的历史负载信息进行训练得到分类器,分类器中的有三个类型:过载类、均衡类、空闲类,每个类型都有8个特征属性。这8个属性值的分类阈值如图4所示。
3)待分类器生成后,再对各个节点用此分类器计算其属类,并输出到文件中供负载均衡器进行源宿节点选取。
4)均衡器启动,读取分类结果文件。
5)均衡器由分类结果将节点分成三个队列,队列中按照负载值大小排序。
6)均衡器从队列中根据一定规则选取源宿节点。
7)对源宿节点进行验证,防止因NB分类误差而出现负载迁移错误。
Hadoop的MapReduce是一个用于处理海量数据的分布式计算框架,它基于“分而治之”的思想,将计算任务抽象成Map和Reduce两个计算过程,可以简单理解为“分散运算—归并结果”的过程。一个MapReduce程序首先会把输入数据分割成不相关的若干键/值对(key1/value1)集合,这些键/值对会由多个Map任务来并行地处理。MapReduce会对Map的输出(一些中间键/值对key2/value2集合)按照key2进行排序,排序是用memcmp的方式对key在内存中字节数组比较后进行升序排序,并将属于同一个key2的所有value2组合在一起作为Reduce任务的输入,由Reduce任务计算出最终结果并输出key3/value3。作为一个优化,同一个计算节点上的key2/value2会通过combine在本地归并。
本发明中在对训练样本进行训练时也是利用Hadoop中的Map/Reduce并行处理机制,将主节点收集的负载信息进行并行分析处理。这样不仅不会造成集群资源过多的消耗,而且能更有效快速的得到分类的结果。本文分类时使用的样本是由本文在实验搭建的HDFS集群运行一段时间后得到的集群中所有服务器节点的负载信息数据,这些数据的内容主要包括负载值和负载特征向量,各个分 类的阈值设定如图4所示。
实施例4:
图3是本发明中源宿节点选取流程图:
(1)如果过载队列为空,则直接停止负载均衡器。
(2)如果过载队列不为空,均衡器则从过载队列中选取一个负载量最大的节点作为源节点存入源节点队列中。
(3)接着从空闲队列选取目标节点,如果空闲队列为空,则判断均衡类节点队列是否为空。
iii.如果均衡类节点也为空,则提示管理员整个集群节点均处于负载过重,需要增加新服务器来扩展集群性能。
iv.如果均衡队列不为空则判断该队列是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择该队列同机架中负载最小的节点作为目标节点。
(4)如果空闲队列不为空,则判断是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择同机架中负载最小的节点作为目标节点。
(5)选取完源宿节点之后,对源宿节点进行验证。验证过程是利用源宿节点的实际负载值和负载特征向量,根据定义好的分类阈值和负载计算函数,得到源宿节点的负载是属于哪个类别,再与分类器得到的结果进行对比,如果相同表示分类没有问题,可以进行负载迁移。反之得重新选取源宿节点。
其中的步骤(3)和(4)中,有判断是否是同一机架,这是因为在实际的网络环境中,处于同一机架的服务器之间的网络通信和数据传输速度明显会比 处于不同机架的服务器之间要更快,数据迁移代价相对较小。此外,本文采用NB算法时管理员无需输入节点均衡的阈值,完全交由集群的后台来判断节点的均衡性。
图4是本发明中节点分类阈值图。
在本发明中,分别对不同属性设置了不同的阈值范围,作为节点分类的判断依据,得到一个分类器,并结合AHP进行属性权重的计算,最后可以计算出节点的负载值。在主节点获得节点的八个指标值后,即可根基分类器得到分类结果,负载均衡器根据分类结果进行负载均衡操作。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (5)

1.一种基于多衡量指标的HDFS负载源宿节点选取方法,其特征在于,包括以下步骤:
1)采用AHP方法量化数据节点的负载值;
2)采用朴素贝叶斯算法对数据节点进行分类,并按步骤1)量化出的节点的实际负载值进行内部排序;
3)根据定义好的节点选取策略选取源宿节点。
2.根据权利要求1所述的一种基于多衡量指标的HDFS负载源宿节点选取方法,其特征在于,步骤1)具体主要包括如下方法:
(1)构建好服务器负载层次结构模型;
(2)构造各个因素或者指标之间重要程度的判断矩阵;
A 1 = U 11 U 12 U 13 U 14 U 15 U 21 U 22 U 23 U 24 U 25 U 31 U 32 U 33 U 34 U 35 U 41 U 42 U 43 U 44 U 45 U 51 U 52 U 53 U 54 U 55 , A 2 = T 11 T 12 T 13 T 21 T 22 T 23 T 31 T 32 T 33 , A = A 11 A 12 A 21 A 22
其中A1、A2、A3分别代表步骤(1)层次结构模型中的性能指标、时间指标和负载总指标的判断矩阵。
(3)计算各个因素或者指标的相对权重,即计算判断矩阵的权重向量;
(4)判断矩阵的一致性检验,验证通过后即得到最终的权向量;
(5)采用公式计算出负载衡量的度量值。
3.根据权利要求1或2所述的一种基于多衡量指标的HDFS负载源宿节点选取方法,其特征在于,步骤2)采用朴素贝叶斯对节点进行分类,主要步骤如下:
使用朴素贝叶斯算法,对最新一次负载信息进行分类,分为三类:过载类、均衡类、空闲类,并存储在一个结果文件中以供源宿节点选取策略使用;根据分类结果文件中的数据,将节点放入对应的队列中,并对队列进行排序。
4.根据权利要求3所述的一种基于多衡量指标的HDFS负载源宿节点选取方法,其特征在于,所述步骤3)所述的节点策略具体如下:
(1)如果过载队列为空,则直接停止负载均衡器;否则,均衡器则从过载队列中选取一个负载量最大的节点作为源节点存入源节点队列中;
(2)从空闲队列选取目标节点,如果空闲队列为空,则判断均衡类节点队列是否为空:
(2.1)如果均衡类节点也为空,则提示管理员整个集群节点均处于负载过重,需要增加新服务器来扩展集群性能;
(2.2)如果均衡队列不为空则判断该队列是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择该队列同机架中负载最小的节点作为目标节点。
(3)如果空闲队列不为空,则判断是否存在同机架的节点,如果不存在则在空闲队列中选择负载最小的节点进行负载迁移,反之则选择同机架中负载最小的节点作为目标节点。
5.根据权利要求3所述的一种基于多衡量指标的HDFS负载源宿节点选取方法,其特征在于,还包括4)对选取后的源宿节点进行双重验证:
利用源宿节点的实际负载值和负载特征向量,根据定义好的分类阈值和负载计算函数,得到源宿节点的负载是属于哪个类别,再与分类得到的结果进行对比,如果相同则通过验证,可以进行负载迁移,反之需重新选取源宿节点。
CN201510395258.0A 2015-07-07 2015-07-07 基于多衡量指标的hdfs负载源宿节点选取方法 Expired - Fee Related CN104978236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510395258.0A CN104978236B (zh) 2015-07-07 2015-07-07 基于多衡量指标的hdfs负载源宿节点选取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510395258.0A CN104978236B (zh) 2015-07-07 2015-07-07 基于多衡量指标的hdfs负载源宿节点选取方法

Publications (2)

Publication Number Publication Date
CN104978236A true CN104978236A (zh) 2015-10-14
CN104978236B CN104978236B (zh) 2018-11-06

Family

ID=54274767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510395258.0A Expired - Fee Related CN104978236B (zh) 2015-07-07 2015-07-07 基于多衡量指标的hdfs负载源宿节点选取方法

Country Status (1)

Country Link
CN (1) CN104978236B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
CN106888237A (zh) * 2015-12-15 2017-06-23 中国移动通信集团公司 一种数据调度方法及系统
CN107800808A (zh) * 2017-11-15 2018-03-13 广东奥飞数据科技股份有限公司 一种基于Hadoop架构的数据存储系统
CN108664580A (zh) * 2018-05-04 2018-10-16 西安邮电大学 一种MongoDB数据库中细粒度的负载均衡方法及系统
CN109376013A (zh) * 2018-10-11 2019-02-22 北京小米智能科技有限公司 负载均衡方法及装置
CN109634915A (zh) * 2018-11-28 2019-04-16 深圳市网心科技有限公司 文件部署方法、云服务器、系统及存储介质
CN109711526A (zh) * 2018-12-20 2019-05-03 广东工业大学 基于svm和蚁群算法的服务器集群调度方法
CN110704542A (zh) * 2019-10-15 2020-01-17 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统
CN111913670A (zh) * 2020-08-07 2020-11-10 北京百度网讯科技有限公司 负载均衡的处理方法、装置、电子设备及存储介质
CN113329067A (zh) * 2021-05-21 2021-08-31 广州爱浦路网络技术有限公司 边缘计算节点负荷分配方法、核心网、装置和存储介质
CN113626098A (zh) * 2021-07-21 2021-11-09 长沙理工大学 一种基于信息交互的数据节点动态配置方法
CN113778973A (zh) * 2021-01-21 2021-12-10 北京沃东天骏信息技术有限公司 数据存储方法和装置
CN110247855B (zh) * 2019-07-26 2022-08-02 中国工商银行股份有限公司 数据交换方法、客户端及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678579A (zh) * 2013-12-12 2014-03-26 浪潮电子信息产业股份有限公司 一种小文件存储效率的优化方法
CN104063501A (zh) * 2014-07-07 2014-09-24 电子科技大学 基于hdfs的副本平衡方法
CN104156381A (zh) * 2014-03-27 2014-11-19 深圳信息职业技术学院 Hadoop分布式文件系统的副本存取方法、装置和Hadoop分布式文件系统
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN104539730A (zh) * 2015-01-16 2015-04-22 浙江大学 一种hdfs中面向视频的负载均衡方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678579A (zh) * 2013-12-12 2014-03-26 浪潮电子信息产业股份有限公司 一种小文件存储效率的优化方法
CN104156381A (zh) * 2014-03-27 2014-11-19 深圳信息职业技术学院 Hadoop分布式文件系统的副本存取方法、装置和Hadoop分布式文件系统
CN104063501A (zh) * 2014-07-07 2014-09-24 电子科技大学 基于hdfs的副本平衡方法
CN104317658A (zh) * 2014-10-17 2015-01-28 华中科技大学 一种基于MapReduce的负载自适应任务调度方法
CN104539730A (zh) * 2015-01-16 2015-04-22 浙江大学 一种hdfs中面向视频的负载均衡方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
康承昆 等: "一种基于多衡量指标的HDFS负载均衡算法", 《四川大学学报(自然科学版)》 *
蔡嵩 等: "云计算环境中基于朴素贝叶斯算法的负载均衡技术", 《计算机应用》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106888237A (zh) * 2015-12-15 2017-06-23 中国移动通信集团公司 一种数据调度方法及系统
CN106888237B (zh) * 2015-12-15 2020-01-07 中国移动通信集团公司 一种数据调度方法及系统
CN106844051A (zh) * 2017-01-19 2017-06-13 河海大学 一种边缘计算环境中功耗优化的负载任务迁移算法
CN107800808A (zh) * 2017-11-15 2018-03-13 广东奥飞数据科技股份有限公司 一种基于Hadoop架构的数据存储系统
CN108664580A (zh) * 2018-05-04 2018-10-16 西安邮电大学 一种MongoDB数据库中细粒度的负载均衡方法及系统
CN109376013A (zh) * 2018-10-11 2019-02-22 北京小米智能科技有限公司 负载均衡方法及装置
CN109634915A (zh) * 2018-11-28 2019-04-16 深圳市网心科技有限公司 文件部署方法、云服务器、系统及存储介质
CN109711526A (zh) * 2018-12-20 2019-05-03 广东工业大学 基于svm和蚁群算法的服务器集群调度方法
CN110247855B (zh) * 2019-07-26 2022-08-02 中国工商银行股份有限公司 数据交换方法、客户端及服务器
CN110704542A (zh) * 2019-10-15 2020-01-17 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统
CN111913670A (zh) * 2020-08-07 2020-11-10 北京百度网讯科技有限公司 负载均衡的处理方法、装置、电子设备及存储介质
CN111913670B (zh) * 2020-08-07 2024-04-02 北京百度网讯科技有限公司 负载均衡的处理方法、装置、电子设备及存储介质
CN113778973A (zh) * 2021-01-21 2021-12-10 北京沃东天骏信息技术有限公司 数据存储方法和装置
CN113778973B (zh) * 2021-01-21 2024-04-05 北京沃东天骏信息技术有限公司 数据存储方法和装置
CN113329067A (zh) * 2021-05-21 2021-08-31 广州爱浦路网络技术有限公司 边缘计算节点负荷分配方法、核心网、装置和存储介质
CN113626098A (zh) * 2021-07-21 2021-11-09 长沙理工大学 一种基于信息交互的数据节点动态配置方法
CN113626098B (zh) * 2021-07-21 2024-05-03 长沙理工大学 一种基于信息交互的数据节点动态配置方法

Also Published As

Publication number Publication date
CN104978236B (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN104978236A (zh) 一种基于多衡量指标的hdfs负载源宿节点选取方法
CN103631657B (zh) 一种基于MapReduce的任务调度方法
US9269054B1 (en) Methods for building regression trees in a distributed computing environment
CN105550323B (zh) 一种分布式数据库负载均衡预测方法和预测分析器
CN102737126B (zh) 云计算环境下的分类规则挖掘方法
WO2019047790A1 (zh) 生成机器学习样本的组合特征的方法及系统
CN104375897B (zh) 基于最小相对负载不均衡度的云计算资源调度方法
Zhang et al. An optimization algorithm for service composition based on an improved FOA
WO2022257436A1 (zh) 基于无线通信网络数据仓库构建方法、系统、设备及介质
CN107832153A (zh) 一种Hadoop集群资源自适应分配方法
CN112486690A (zh) 一种适用于工业物联网的边缘计算资源分配方法
CN104731528B (zh) 一种云计算块存储服务的构建方法及系统
CN108881432A (zh) 基于ga算法的云计算集群负载调度方法
Lin et al. Efficient algorithms for frequent pattern mining in many-task computing environments
CN108196935A (zh) 一种面向云计算的虚拟机节能迁移方法
CN113610240A (zh) 利用嵌套机器学习模型来执行预测的方法及系统
CN105528283B (zh) 一种移动应用检测负载均衡算法中计算负载值的方法
CN113900921A (zh) 法院信息系统运行状态评估方法、装置、设备及存储介质
Wang et al. Asyncfeded: Asynchronous federated learning with euclidean distance based adaptive weight aggregation
CN105760227A (zh) 云环境下资源调度方法及系统
CN107193940A (zh) 大数据优化分析方法
CN112214328B (zh) 一种用于同构多链中交易处理的负载均衡方法
Zhiyong et al. An improved container cloud resource scheduling strategy
Gupta et al. Cost-aware resource optimization for efficient cloud application in smart cities
Zhu et al. Machine learning based prediction and classification of computational jobs in cloud computing centers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181106

Termination date: 20190707

CF01 Termination of patent right due to non-payment of annual fee