CN103207804B - 基于集群作业日志的MapReduce负载模拟方法 - Google Patents
基于集群作业日志的MapReduce负载模拟方法 Download PDFInfo
- Publication number
- CN103207804B CN103207804B CN201310118525.0A CN201310118525A CN103207804B CN 103207804 B CN103207804 B CN 103207804B CN 201310118525 A CN201310118525 A CN 201310118525A CN 103207804 B CN103207804 B CN 103207804B
- Authority
- CN
- China
- Prior art keywords
- load
- fuzzy
- matrix
- homework
- job
- 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.)
- Expired - Fee Related
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种大规模数据处理集群的负载模拟方法,尤其是基于集群作业日志的MapReduce负载模拟方法。本发明通过收集大规模数据处理集群中的作业日志,得到一个时间有序的作业列表;通过提取作业列表中各个作业的特征向量,采用模糊聚类算法进行基于特征向量作业分类;然后,将负载的时间区间划分为等长的子区间,分别计算各子区间中各类型作业的提交概率,得到作业提交概率模型;最后,利用作业类型空间和作业提交概率模型,计算出个子区间内各类型作业的提交数量,并将个子区间内同类型作业均匀分布,得到模拟负载。本发明在负载模拟时兼顾了大规模集群MapReduce负载的真实性和动态特性,提高了大规模集群MapReduce负载模拟的准确度。本发明可应用于MapReduce集群的模拟、性能测试、性能调优等工作中。
Description
技术领域
本发明涉及一种大规模数据处理集群的负载模拟方法,特别涉及一种基于集群作业日志的MapReduce数据处理平台的负载模拟方法。
背景技术
高速发展的互联网技术为用户带来了许多新型的应用,如博客、微博、RSS、维基百科、共享空间等,也催生了一种新的互联网内容提供方式——用户创造内容。然而,随着信息资源的不断产生与汇总,互联网络为人们的生活和学习提供极大便利的同时,也进入了一个信息爆炸的时代。面对无时无刻不再增长的数据,如何去存储和处理所产生的海量数据,从海量数据中发现有价值的信息,已经成为当今互联网公司面临的严峻问题。
面对海量数据处理问题,MapReduce数据处理框架为大规模数据存储和处理系统提供了可扩展的大数据处理技术解决方案。然而,随着集群规模的不断扩展,集群的测试工作也显得越来越重要,为了对集群进行负载测试,许多测试工具通过模拟MapReduce集群中的实际负载来评测集群性能。它首先根据用户设定的参数生成大量数据和批量作业,然后同时提交这些作业(批处理),最后统计出这些作业的运行时间。
传统的测试工具通过向集群提交由特定类型的作业集合,并通过改变作业处理的数据量来对集群进行压力测试。但是随着集群的越来越广泛应用,集群负载的复杂度也越来越高,导致现有的测试工具以及测试结果不能反映真实集群的性能和实际应用负载的动态特征。
发明内容
针对上述问题,本发明公开了一种基于集群作业日志的MapReduce负载模拟方法,该方法以真实负载作业日志为基础,通过提取负载作业特征向量、作业分类模型以及作业提交概率模型,动态模拟大规模集群的真实负载,在进行负载模拟时能够兼顾模拟负载的真实性和动态特性,提高负载模拟的准确性。该方法适合于大规模集群的负载模拟、集群性能测试和性能调优。
本发明解决其技术问题采用的技术方案步骤如下:
基于集群作业日志的的MapReduce负载模拟方法,采用以下步骤实现:
步骤1:首先从真实集群的作业日志文件夹中收集集群的作业历史,该作业历史中的作业包含了该作业的所有属性信息。将作业历史中的作业按照提交时间排序,得到一个按照提交时间有序的作业列表。
步骤2:从作业列表中提取负载作业特征向量。对有序作业列表中的每一个作业,从作业的属性信息中提取8个特征属性组成负载作业特征向量,表征一个历史作业的典型特征。这8个作业特征属性分别为:表示作业HDFS读数据量和写数据量的HR和HW,表示作业本地磁盘读数据量和写数据量的LR和LW,表示作业中Map任务和Reduce任务数量的M和R,表示Map任务和Reduce任务平均运行时间的MD和RD。即真实负载中的一个作业Jobi可以用一个特征向量Jobi=<HRi,HWi,LRi,LWi,Mi,Ri,MDi,RDi>来表示。
步骤3:建立作业类型空间和作业分类模型。这个过程包含了四个子过程:数据预处理、建立模糊相似矩阵,生成模糊等价矩阵、建立作业类型空间和作业分类模型。
步骤4:建立作业提交概率模型。根据一个给定的时间区间长度t,将负载的时间区间T划分为一组等长的子区间T1,T2,…,Tn。根据作业分类的结果,计算每个子区间中每一种作业类型的提交概率,从而建立作业提交概率模型。
步骤5:负载模拟。给定一个负载作业数量N,根据步骤4中建立的作业提交概率模型,计算每个子区间中各类型作业的提交数量,将各类型的作业在对应的子区间中均匀分布,从而实现负载模拟。
本发明的有益效果:
1.本发明从MapReduce集群中收集作业列表,这个列表在后续的步骤中用于作业类型空间生成和建立作业提交概率模型,在负载模拟时能更加真实的反应集群负载特征和作业执行的动态特性,从而改进负载模拟的真实性,更加真实的模拟出大规模MapReduce应用负载的动态特性。
2.本发明根据集群的真实作业历史进行负载模拟,针对不同的集群,可以模拟出反应其负载特征的作业模拟执行过程,对集群作业调度器进行性能模拟测试,从而分析和改进集群性能。
3.在针对不同集群进行负载模拟时,本发明能够在保证模拟负载真实性的同时,兼顾不同应用类型的负载动态特性,从而提高负载模拟的准确性。
附图说明
图1为本发明进行MapReduce负载模拟时的流程图。
图2为建立作业分类模型流程图。
具体实施方式
下面结合附图,对本发明的具体实施方案作进一步详细描述。其具体步骤描述如图1所示:
步骤1:生成初始作业列表
首先从真实集群的作业日志文件夹中收集集群的作业历史,该作业历史中的作业包含了该作业的所有属性信息。将作业历史中的作业按照提交时间排序,得到一个按照提交时间有序的作业列表。
步骤2:生成作业特征向量列表。
对有序作业列表中的每一个作业,从作业的属性信息中提取8个属性组成作业特征向量,表征一个历史作业的典型特征。这8个作业特征分别为:表示作业HDFS读数据量和写数据量的HR和HW,表示作业本地磁盘读数据量和写数据量的LR和LW,表示作业中Map任务和Reduce任务数量的M和R,表示Map任务和Reduce任务平均运行时间的MD和RD。即真实负载中的一个作业Jobi可以用一个特征向量Jobi=<HRi,HWi,LRi,LWi,Mi,Ri,MDi,RDi>来表示。从有序的作业历史列表中提取作业特征向量的算法为:
在提取每个作业的特征向量时,遍历相应作业的所有属性信息,如果该属性信息是属于上述的8个特征属性之一,则将该属性的值赋值给该作业的相应特征属性。如果一个作业属性信息中不包含上述8个特征属性的一个或者几个,则将这些特征属性的值设为0。
步骤3:建立作业分类模型。
本发明模糊聚类分析算法来构建负载的类型空间和作业分类器,其流程如图2所示,这个过程包含了四个子过程:
1.数据预处理过程
这个过程主要是对作业特征向量进行标准化和归一化处理,采用平移极差变化来处理对象的每个特征属性,其公式如下:
式中j' ik表示归一化后的属性k的值,jik为k的实际属性值,max(j*k)表示所有对象的属性k的最大值,min(j*k)为所有对象的属性k的最小值。对作业特征向量列表中的作业特征向量进行标准化和归一化处理的算法为:
在进行标准化和归一化之前,需要先遍历作业特征向量列表,提取出每个特征属性的最大值和最小值分别组成最大值特征向量vMax和最小值特征向量vMin。
2.建立模糊相似矩阵
这一过程是要计算作业特征向量之间的相似程度,若用ris表示对象ji和js之间的相似度,那么这一步骤就是要确定一个模糊关系R,使得ris=R(ji,js)。本发明采用的模糊关系的确定方法是最大最小法,其公式如下:
式中的∧表示取两个数中的较小值,∨表示取两个数中的较大值。另外还可以用距离法(如切比雪夫距离、海明距离、欧式距离等)、相似系数法、贴近度法等方法来计算作业特征向量之间的模糊关系。
计算作业特征向量之间的模糊关系,建立相似矩阵的算法如下:
3.建立模糊等价矩阵
上一过程中构造的模糊相似矩阵仅满足自反性和对称性,不满足传递性,因此还需要根据模糊相似矩阵生成满足这三种性质的模糊等价矩阵。
利用传递闭包法求等价矩阵,使用模糊矩阵的合成运算R2=RоR,遵守先取小后取大的规则,即设两个模糊矩阵Am*s=(aik)m*s和Bs*n=(bkj)s*n,那么A和B的合成矩阵Cm*n=Am*sоBs*n中第i行第j列的元素的计算方法为:
式中的∧表示取两个数中的较小值,∨表示取两个数中的较大值。而方阵Rn*n进行自合成时,结果矩阵的元素为:
利用模糊相似矩阵计算模糊等价矩阵的一个步骤算法如下:
利用传递闭包法求等价矩阵时,依次计算R,R2,...R2k,...直到首次出现Ri=Rj(其中i=2k,j=2k+1)时,此时t(R)=Ri为所求的等价模糊矩阵。
4.生成作业类型空间和作业分类器
使用传递闭包法求出模糊等价矩阵t(R)后,根据阀值λ(λ∈[0,1]),将模糊等价矩阵中小于λ的值变为0,大于等于λ的值变为1,将t(R)转换成只有0和1的矩阵R'。
以行向量为单位遍历矩阵R',将相同值的行向量所对应的作业归为同一个作业类型,并添加到作业类型空间中。
根据给定的阀值λ和模糊等价矩阵生成作业类型空间和作业分类器的算法如下:
步骤4:建立作业提交概率模型。
根据一个给定的时间区间长度t,将负载的时间区间T划分为一组等长的子区间T1,T2,…,Tn。根据作业分类的结果,计算每个子区间中每一种作业类型的提交概率pt,k,其计算定义如下式所示:
式中Jt表示在时间区间内提交到集群的作业集合,pt,j表示作业j在负载中被提交的概率,即pt,j=1/n;n表示负载中一共有n个作业。pk,j表示作业j属于作业类型k的概率,这是一个0-1型变量,值由一个作业分类器确定,如果作业j属于类型k的作业,则取值1,否则取值0,作业分类器将在下文中讨论。pk,j的取值表达式如下式所示:
根据一个给定的时间区间长度t以及作业分类器建立作业提交概率模型的算法如下:
步骤5:负载模拟。
给定一个负载作业数量N,根据步骤4中建立的作业提交概率模型计算每个子区间中需要生成哪些类型的作业,每种类型生成多少个作业。设整个模拟负载需要生成N个作业,作业类型空间内一共有m种作业,而且根据作业提交概率模型,时间区间t内作业类型为i的作业的生成概率为pi,那么在该时间区间内,我们需要生成i类型的作业为N*pi个,而整个时间区间内需要生成的作业如下公式所示:
在各个子区间中,相同类型的作业将被均匀分布到该子区间中,最终得到模拟负载。根据负载作业数量N和作业提交概率提交模型以及作业类型空间生成模拟负载的算法如下:
其中workload[i][t]表示在第i个时间区间内,类型为t的作业需要均匀提交的作业数量。
Claims (2)
1.基于集群作业日志的MapReduce负载模拟方法,其特征在于:利用真实数据处理集群的MapReduce负载的作业日志记录,提取负载作业特征向量、作业分类模型以及作业提交概率模型,动态模拟大规模集群的真实负载,适合于大规模集群的负载模拟、集群性能测试和性能调优,该方法的具体步骤如下:
步骤1:从真实集群的作业日志文件夹中收集集群的作业历史记录,该作业历史记录中,每个作业包含了该作业的所有属性信息;将作业历史记录中的作业按照原来的作业提交时间排序,得到一个按照提交时间次序排列的作业列表;
步骤2:从作业列表中提取负载作业特征向量;对有序作业列表中的每一个作业,从作业的属性信息中提取8个特征属性组成负载作业特征向量,表征一个历史作业的典型特征;这8个作业特征属性分别为:表示作业HDFS读数据量和写数据量的HR和HW,表示作业本地磁盘读数据量和写数据量的LR和LW,表示作业中Map任务和Reduce任务数量的M和R,表示Map任务和Reduce任务平均运行时间的MD和RD;即真实负载中的一个作业Jobi采用一个特征向量Jobi=<HRi,HWi,LRi,LWi,Mi,Ri,MDi,RDi>来表示;
步骤3:建立作业类型空间和作业分类模型;这个过程包含四个子过程:数据预处理、建立模糊相似矩阵、生成模糊等价矩阵、建立作业类型空间和作业分类模型,具体如下:
(1)、数据预处理过程;
这个过程主要是对作业特征向量进行标准化和归一化处理,采用平移极差变化来处理对象的每个特征属性,其公式如下:
式中j'ik表示归一化后的属性k的值,jik为k的实际属性值,max(j*k)表示所有对象的属性k的最大值,min(j*k)为所有对象的属性k的最小值;
(2)、建立模糊相似矩阵;
这一过程是要计算作业特征向量之间的相似程度,若用ris表示对象ji和js之间的相似度,那么这一步骤就是要确定一个模糊关系R,使得ris=R(ji,js);采用的模糊关系的确定方法是最大最小法,其公式如下:
式中的∧表示取两个数中的较小值,∨表示取两个数中的较大值;另外还能够用距离法、相似系数法、贴近度法等方法来计算作业特征向量之间的模糊关系;
(3)、生成模糊等价矩阵;
已经建立的模糊相似矩阵仅满足自反性和对称性,不满足传递性,因此还需要根据模糊相似矩阵生成满足这三种性质的模糊等价矩阵;
利用传递闭包法求等价矩阵,使用模糊矩阵的合成运算R2=RοR,遵守先取小后取大的规则,即设两个模糊矩阵Am*s=(aik)m*s和Bs*n=(bkj)s*n,其中m代表模糊矩阵Am*s=(aik)m*s的行;s代表模糊矩阵Am*s=(aik)m*s的列和模糊矩阵Bs*n=(bkj)s*n的行;n代表模糊矩阵Bs*n=(bkj)s*n的列,aik代表模糊矩阵Am*s=(aik)m*s的元素,bkj表模糊矩阵Bs*n=(bkj)s*n的元素;m、s和n均为整数;那么A和B的合成矩阵Cm*n=Am*sοBs*n中第i行第j列的元素的计算方法为:
cij=∨{(aik∧bkj)|1≤k≤s}
式中的∧表示取两个数中的较小值,∨表示取两个数中的较大值;而方阵Rn*n进行自合成时,结果矩阵的元素为:
rij=∨{(aik∧akj)|1≤k≤n};
利用传递闭包法求等价矩阵时,依次计算R,R2,……直到首次出现Ri=Rj其中i=2k,j=2k+1时,此时t(R)=Ri为所求的等价模糊矩阵;
(4)、建立作业类型空间和作业分类器;
使用传递闭包法求出模糊等价矩阵t(R)后,根据阀值λ,λ∈[0,1],将模糊等价矩阵中小于λ的值变为0,大于等于λ的值变为1,将t(R)转换成只有0和1的矩阵R';
以行向量为单位遍历矩阵R',将相同值的行向量所对应的作业归为同一个作业类型,并添加到作业类型空间中;
步骤4:建立作业提交概率模型;根据一个给定的时间区间长度t,将负载的时间区间T划分为一组等长的子区间<T1,T2,…,Tn>;根据作业分类的结果,计算每个子区间中每一种作业类型的提交概率,从而建立作业提交概率模型;在这个过程中,子区间划分越小,建立的作业提交概率模型越真实;
步骤5:负载模拟;给定一个负载作业数量N,根据步骤4中建立的作业提交概率模型,计算每个子区间中各类型作业的提交数量,将各类型的作业在对应的子区间中均匀分布,从而实现负载模拟,在生成模拟负载时,根据给定的模拟负载中作业数量N,根据已经得到的一个作业类型空间和作业提交概率模型,按比例扩大或者缩小模拟负载中各个子区间中各类型作业的提交数量,使负载模拟更加符合实际负载的动态特性。
2.根据权利要求1所述的基于集群作业日志的MapReduce负载模拟方法,其特征在于:在步骤3中所建立的作业类型空间,是通过聚类算法对作业列表中的作业进行分类处理,提取出特定于该作业列表的典型作业类型而建立的,这个作业类型空间基于作业列表动态生成,更能反映真实负载中的作业特征;同时,对作业列表进行聚类分析时,分类越详细,最终所生成的模拟负载越真实。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310118525.0A CN103207804B (zh) | 2013-04-07 | 2013-04-07 | 基于集群作业日志的MapReduce负载模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310118525.0A CN103207804B (zh) | 2013-04-07 | 2013-04-07 | 基于集群作业日志的MapReduce负载模拟方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103207804A CN103207804A (zh) | 2013-07-17 |
CN103207804B true CN103207804B (zh) | 2016-03-30 |
Family
ID=48755034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310118525.0A Expired - Fee Related CN103207804B (zh) | 2013-04-07 | 2013-04-07 | 基于集群作业日志的MapReduce负载模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103207804B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451048A (zh) * | 2016-03-31 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种线上压力模拟测试的方法和设备 |
CN108255661A (zh) * | 2016-12-29 | 2018-07-06 | 北京京东尚科信息技术有限公司 | 一种实现Hadoop集群监控的方法及系统 |
CN110489200B (zh) * | 2018-05-14 | 2022-03-08 | 郑州芯兰德网络科技有限公司 | 一种适用于嵌入式容器集群的任务调度方法 |
CN112486738B (zh) * | 2019-09-12 | 2022-04-26 | 阿里巴巴集团控股有限公司 | 负载测试方法、装置、电子设备及计算机可读存储介质 |
CN111625367B (zh) * | 2020-07-29 | 2020-11-27 | 北京并行科技股份有限公司 | 一种动态调整文件系统读写资源的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196827A (zh) * | 2007-12-28 | 2008-06-11 | 中国科学院计算技术研究所 | 一种并行模拟器及方法 |
CN101464922A (zh) * | 2009-01-22 | 2009-06-24 | 中国人民解放军国防科学技术大学 | 基于集群系统的计算机体系结构方案并行模拟优选方法 |
CN102004670A (zh) * | 2009-12-17 | 2011-04-06 | 华中科技大学 | 一种基于MapReduce的自适应作业调度方法 |
-
2013
- 2013-04-07 CN CN201310118525.0A patent/CN103207804B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196827A (zh) * | 2007-12-28 | 2008-06-11 | 中国科学院计算技术研究所 | 一种并行模拟器及方法 |
CN101464922A (zh) * | 2009-01-22 | 2009-06-24 | 中国人民解放军国防科学技术大学 | 基于集群系统的计算机体系结构方案并行模拟优选方法 |
CN102004670A (zh) * | 2009-12-17 | 2011-04-06 | 华中科技大学 | 一种基于MapReduce的自适应作业调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103207804A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | [Retracted] Complex System of Vertical Baduanjin Lifting Motion Sensing Recognition under the Background of Big Data | |
CN103279478B (zh) | 一种基于分布式互信息文档特征提取方法 | |
CN106547882A (zh) | 一种智能电网中营销大数据的实时处理方法及系统 | |
CN103207804B (zh) | 基于集群作业日志的MapReduce负载模拟方法 | |
CN104820708B (zh) | 一种基于云计算平台的大数据聚类方法和装置 | |
CN105512679A (zh) | 一种基于极限学习机的零样本分类方法 | |
CN104408667B (zh) | 一种电能质量综合评估的方法和系统 | |
CN104156463A (zh) | 一种基于MapReduce的大数据聚类集成方法 | |
CN105740424A (zh) | 一种基于 Spark 平台的高效率文本分类方法 | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN105975457A (zh) | 基于全自动学习的信息分类预测系统 | |
CN105825269A (zh) | 一种基于并行自动编码机的特征学习方法及系统 | |
CN111046059B (zh) | 基于分布式数据库集群的低效sql语句分析方法及系统 | |
CN103700030A (zh) | 基于灰色粗糙集的电网建设项目后评价指标赋权方法 | |
CN102393839A (zh) | 并行数据处理系统及方法 | |
CN110389932B (zh) | 电力文件自动分类方法及装置 | |
CN108335010A (zh) | 一种风电出力时间序列建模方法及系统 | |
CN110619084A (zh) | 一种根据图书馆读者借阅行为进行图书推荐的方法 | |
Cai et al. | Credit Payment Fraud detection model based on TabNet and Xgboot | |
Cai | Japanese teaching quality satisfaction analysis with improved apriori algorithms under cloud computing platform | |
Hosen et al. | Significant of gradient boosting algorithm in data management system | |
CN106685707A (zh) | 一种分布式基础设施系统中的资产信息控制方法 | |
Sood | Iterative solver selection techniques for sparse linear systems | |
CN109241146A (zh) | 集群环境下的学生智助方法和系统 | |
CN114119193A (zh) | 一种信用等级评估方法以及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160330 |