基于资源信息增益的Hadoop集群瓶颈检测算法

文档序号:10525654阅读:305来源:国知局
基于资源信息增益的Hadoop集群瓶颈检测算法
【专利摘要】本发明公布了基于资源信息增益的Hadoop集群瓶颈检测算法。该算法包括三部分:监测集群中每个节点的响应满意度RS,当RS下降到一定阀值时,则判断该节点出现瓶颈;针对出现瓶颈的节点采集样本,并对样本进行离散化处理;根据样本,计算出各资源的在样本中的信息增益,将信息增益较大的作为瓶颈资源。本发明方法可清楚地了解各个组件运行情况,优化资源利用率,提高Hadoop系统的可扩展性。
【专利说明】
基于资源信息増益的Hadoop集群瓶颈检测算法
技术领域
[0001]本发明涉及大数据架构优化领域,主要涉及一种基于资源信息增益的Hadoop集群 瓶颈检测算法。
【背景技术】
[0002] 当今正处于大数据时代,传统的数据处理架构已经难以应对当今海量数据的处 理。而Hadoop的出现很好地解决海量数据分析处理的难题。Hadoop集群基于主从模式,不同 类型节点在集群中扮演着不同角色。其通过分布式存储机制将数据集分散的保存在集群的 各个节点当中,并通过MapReduce编程模型使得作业能在分布式集群里高度并行地执行。由 于Hadoop具有强的容错性、高可靠性和高可扩展性,其已经成为当今大数据处理的主流框 架。
[0003] 近几年来,学者们针对Hadoop的研究重点主要集中在对Hadoop优化方法上。如董 新华,曾婉琳等通过MapReduce参数调整优化了提高Hadoop性能。而张呈在2014提出一种基 于小文件的Hadoop优化算法,该方法通过mapFile,Hbase等Hadoop生态系统的相关组件,对 小文件处理进行优化;随后,唐霞则在2015年针对底层的调度器方面对Hadoop进行优化。这 些学者对Hadoop的研究局限于优化方法上,而忽略了对Hadoop瓶颈检测的研究。而在瓶颈 检测方面,国外的Villela等人用机器学习的方法来计算SL0满意度并对系统瓶颈进行检 测,随后国内学者朱显杰提出一种基于决策树的瓶颈检测方法。但这些瓶颈检测方法均针 对运行Web服务的平台进行检测。

【发明内容】

[0004] 本发明的目的在于解决海量数据分析处理的难题,优化资源利用率,提高Hadoop 系统的可扩展性。
[0005] 为实现上述目的,本发明采用以下技术方案:
[0006] 本发明公开了基于资源信息增益的Hadoop集群瓶颈检测算法。在Hadoop平台内设 有瓶颈监控模块,该模块按以下步骤进行检测:
[0007] (1)检测并记录集群中各节点的资源使用率情况和响应满意度RS,响应满意度RS 用于评价各个节点的性能,当响应满意度RS低于阈值60 %时,则判断该节点出现瓶颈;
[0008] (2)对检测到出现瓶颈的节点,采集各种资源的使用率及响应满意度RS的样本数 据,并对样本进行离散化处理;
[0009] (3)通过样本数据计算节点中各个资源的信息增益,通过比较,将信息增益较大的 作为节点的瓶颈资源。
[0010] 其中,步骤(1)中记Tm为期待最小响应时间,Ts为实际响应时间;当Tm大于Ts时,节 点的响应满意度RS为100%;当Tm小于等于Ts时,节点的响应满意度RS为Tm/TsXlOO%。步 骤(2)中通过划分等级的方法对样本进行离散化,其中资源使用率分5类:^^1^?(0-20% ) ,low(20%-40% ) ,middle(40%-60% ) ,high(60%-80% ),veryHigh(80%-100% ), 而响应满意度分3类:1〇¥(0-60%),11^(1(116(60%-80%)和11丨811(80%-100%)。步骤(3)中所 述的信息增益为样本划分前后信息熵的差值,即样本中A资源的信息增益=整个样本集所 含的信息熵-按资源A划分后的样本子集的信息熵。
[0011] 本发明针对Hadoop分布式处理平台,充分利用资源信息增益的性质,将之切实地 运用到对集群的瓶颈检测当中。此方法不仅能检测出瓶颈出现的节点位置,还能在出现瓶 颈的节点上检测出造成瓶颈的资源,优化资源利用率,提高Hadoop系统的可扩展性。将瓶颈 结果进行分析,可以清楚地了解各个组件运行情况,同时将异常组件的运行状态反映给用 户,在改进Hadoop平台性能、提高服务质量方面为用户提供依据和合理的建议。
【附图说明】
[0012] 图1为本发明的算法流程架构图。 具体实施方案
[0013] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。
[0014] 如图1所示,本发明公开了一种基于资源信息增益的Hadoop集群瓶颈检测算法,在 Hadoop平台内设有瓶颈监控模块,该模块按以下步骤进行检测:
[0015] (1).检测并记录集群中各节点的资源使用率情况和响应满意度RS,并通过响应满 意度RS的值来判断节点是否出现瓶颈。其中响应满意度RS用于评价各个节点的性能,其值 为:
[0016]
[0017] 其中,1"为期待最小响应时间,Ts为实际响应时间。当响应满意度RS低于一定阈值 (设为60 % )时,则判断该节点出现瓶颈。
[0018] (2).对检测到出现瓶颈的节点,采集(各种资源的使用率;响应满意度RS)样本数 据,并对样本进行离散化处理。由于影响集群系统性能的资源有很多,且检测初期并不知道 可能成为瓶颈的资源有哪些,故将可能导致系统瓶颈的资源都考虑进去。如CPU,内存,硬盘 10,网络带宽等。通过划分等级的方法对样本集进行离散化。
[0019] 其中资源使用率分5类:
[0020] veryLow(〇-20% ), low(20%-40% ),middle(40%-60% ),high(60%-80% ), veryHigh(80%-100% ) 〇
[0021 ]响应满意度分3类:low(0-60% )、middle(60%-80% )和high(80%-100% ) 〇
[0022] 例如有样本
[0023] s = {CPU:45% ,Mem:25% , 10:13% ,Network:66% ;RS:85%}
[0024] 则其经过离散化后样本变为
[0025] s'={CPU:middle,Mem:low,10:veryLow,Network:high;RS:high}〇
[0026] (3).通过样本数据计算节点中各个资源的信息增益,通过比较,将信息增益较大 的作为节点的瓶颈资源。首先需要计算样本集的信息熵。这里的信息熵可以理解用于衡量 系统复杂性的信息量。由上已经知道的目标属性响应满意度RS有3种可能等级,这里记为 Ι^(? = 1,2,3)。假设在整个数据集S中,R&出现的概率为Ρη则数据集S所含的信息熵为:
[0027]
[0028] 然后计算根据资源划分后样本子集的信息熵。假定资源Α有在数据集中存在k个不 同的值,那么可以根据资源A将S划分为k个样本子集{S^S^sSk},则按资源A划分后的样 本子集信息熵为
[0029] I = 1
[0030] 其中,|31|(1 = 1,2,~,1〇为子集51的样本数,|5|为总样本数。而信息增益则是样 本划分前后信息熵的差值,则按资源A划分总数据集S的信息增益为:
[0031 ] Gain(S,A) = Entropy (S) -EntropyA( S)
[0032]信息增益越大,则说明该资源对系统响应满意度RS的影响就越大。故将信息增益 最大的资源作为瓶颈资源。
[0033] 根据以上方法,一实施例中,Hadoop集群中4个节点,1个Master节点,3个Slave节 点(Slavel,Slave2,Slave3)。根据步骤(1)通过增加集群负载检测各节点的响应满意度,如 下表1所示:
[0034] 表1集群各节点随负载增加的响应满意度RS(单位:% )
[0035]
[0036]由表1易知集群在Master节点阈值低于60%,即判断在Master节点发生瓶颈。根据 步骤(2),通过采集其各个资源使用率,响应满意度样本得到表2。然后根据步骤(3)通过算 法计算得到10的?目息增益最大(0.2275)。故磁盘10是瓶颈资源。
[0037]表2 Master节点各资源使用率和响应满意度数据样本(单位:% )
[0038]

[0039] 综上,本发明算法通过实时监控Hadoop集群中各个节点的响应满意度RS,来判断 集群瓶颈的出现。然后针对出现瓶颈的节点来进行资源使用率和响应满意度RS相对应的样 本集合。在进行算法前通过利用划分等级的方法对样本集进行离散化处理。离散化处理完 后,首先计算整个样本集所含的信息熵Entr 〇py(S),然后根据资源对样本集进行划分子样 本值,计算按资源划分后的样本子集信息熵Entropy资源(S)。由此计算出各个资源的信息增 益Gain(S,资源)=Entropy(S)-Entropy麵(S)。通过比较,选择信息增益最大的作为瓶颈资 源。将瓶颈结果进行分析,可以清楚地了解各个组件运行情况,同时将异常组件的运行状态 反映给用户,便于进一步打破瓶颈以提高Hadoop平台性能。
[0040] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。
【主权项】
1. 基于资源信息增益的Hadoop集群瓶颈检测算法,其特征在于,在Hadoop平台内设有 瓶颈监控模块,该模块按以下步骤进行检测: (1) 检测并记录集群中各节点的资源使用率情况和响应满意度RS,响应满意度RS用于 评价各个节点的性能,当响应满意度RS低于阈值60 %时,则判断该节点出现瓶颈; (2) 对检测到出现瓶颈的节点,采集各种资源的使用率及响应满意度RS的样本数据,并 对样本进行离散化处理; (3) 通过样本数据计算节点中各个资源的信息增益,通过比较,将信息增益较大的作为 节点的瓶颈资源。2. 根据权利要求1所述的基于资源信息增益的Hadoop集群瓶颈检测算法,其特征在于: 步骤(1)中记Tm为期待最小响应时间,Ts为实际响应时间;当Tm大于Ts时,节点的响应满意 度RS为100% ;当Tm小于等于Ts时,节点的响应满意度RS为Tm/Ts X 100%。3. 根据权利要求1所述的基于资源信息增益的Hadoop集群瓶颈检测算法,其特征在于: 步骤(2)中通过划分等级的方法对样本进行离散化,其中资源使用率分5类 :%^1^?(0_ 20% ) ,low(20%-40% ) ,middle(40%-60% ) ,high(60%-80% ),veryHigh(80%-100% ), 而响应满意度分3类:low(0-60% ),middle(60%-80% )和high(80%-100% ) 〇4. 根据权利要求1所述的基于资源信息增益的Hadoop集群瓶颈检测算法,其特征在于: 步骤(3)中所述的信息增益为样本划分前后信息熵的差值,即样本中A资源的信息增益=整 个样本集所含的信息熵-按资源A划分后的样本子集的信息熵。
【文档编号】H04L12/26GK105897503SQ201610192350
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】郝志峰, 谭造乐, 蔡瑞初, 温雯, 陈炳丰
【申请人】广东工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1