基于集群作业日志的MapReduce负载模拟方法

文档序号:6401564阅读:175来源:国知局
专利名称:基于集群作业日志的MapReduce负载模拟方法
技术领域
本发明涉及一种大规模数据处理集群的负载模拟方法,特别涉及一种基于集群作业日志的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, Lffi, Mi, Ri, MDi, RDi)来表示。步骤3:建立作业类型空间和作业分类模型。这个过程包含了四个子过程:数据预处理、建立模糊相似矩阵,生成模糊等价矩阵、建立作业类型空间和作业分类模型。步骤4:建立作业提交概率模型。根据一个给定的时间区间长度t,将负载的时间区间T划分为一组等长的子区间T1, T2,…,τη。根据作业分类的结果,计算每个子区间中每一种作业类型的提交概率,从而建立作业提交概率模型。步骤5:负载模拟。给定一个负载作业数量N,根据步骤4中建立的作业提交概率模型,计算每个子区间中各类型作业的提交数量,将各类型的作业在对应的子区间中均匀分布,从而实现负载模拟。本发明的有益效果:1.本发明从MapReduce集群中收集作业列表,这个列表在后续的步骤中用于作业类型空间生成和建立作业提交概率模型,在负载模拟时能更加真实的反应集群负载特征和作业执行的动态特性,从而改进负载模拟的真实性,更加真实的模拟出大规模MapReduce应用负载的动态特性。2.本发明根据集群的真实作业历史进行负载模拟,针对不同的集群,可以模拟出反应其负载特征的作业模拟执行过程,对集群作业调度器进行性能模拟测试,从而分析和改进集群性能。3.在针对不同集群进行负载模拟时,本发明能够在保证模拟负载真实性的同时,兼顾不同应用类型的负载动态特性,从而提高负载模拟的准确性。


图1为本发明进行MapReduce负载模拟时的流程图。图2为建立作业分类模型流程图。
具体实施例方式下面结合附图,对本发明的具体实施方案作进一步详细描述。其具体步骤描述如图1所示:步骤1:生成初始作业列表首先从真实集群的作业日志文件夹中收集集群的作业历史,该作业历史中的作业包含了该作业的所有属性信息。将作业历史中的作业按照提交时间排序,得到一个按照提交时间有序的作业列表。步骤2:生成作业特征向量列表。对有序作业列表中的每一个作业,从作业的属性信息中提取8个属性组成作业特征向量,表征一个历史作业的 典型特征。这8个作业特征分别为:表示作业HDFS读数据量和写数据量的HR和服,表示作业本地磁盘读数据量和写数据量的LR和LW,表示作业中Map任务和Reduce任务数量的M和R,表不Map任务和Reduce任务平均运彳丁时间的MD和RD。即真实负载中的一个作业Jobi可以用一个特征向量JobiMHRi, HWi, LRi, Lffi, Mi, Ri, MDi, RDi)
来表示。从有序的作业历史列表中提取作业特征向量的算法为:
权利要求
1.基于集群作业日志的MapReduce负载模拟方法,其特征在于:利用真实数据处理集群的MapReduce负载的作业日志记录,提取负载作业特征向量、作业分类模型以及作业提交概率模型,动态模拟大规模集群的真实负载,适合于大规模集群的负载模拟、集群性能测试和性能调优,该方法的具体步骤如下: 步骤1:从真实集群的作业日志文件夹中收集集群的作业历史记录,该作业历史记录中,每个作业包含了该作业的所有属性信息;将作业历史记录中的作业按照原来的作业提交时间排序,得到一个按照提交时间次序排列的作业列表; 步骤2:从作业列表中提取负载作业特征向量;对有序作业列表中的每一个作业,从作业的属性信息中提取8个特征属性组成负载作业特征向量,表征一个历史作业的典型特征;这8个作业特征属性分别为:表示作业HDFS读数据量和写数据量的HR和HW,表示作业本地磁盘读数据量和写数据量的LR和LW,表示作业中Map任务和Reduce任务数量的M和R,表示Map任务和Reduce任务平均运行时间的MD和RD ;即真实负载中的一个作业采用一个特征向量呵,来表示; 步骤3:建立作业类 型空间和作业分类模型;这个过程包含四个子过程:数据预处理、建立模糊相似矩阵,生成模糊等价矩阵、建立作业类型空间和作业分类模型; 步骤4:建立作业提交概率模型;根据一个给定的时间区间长度t,将负载的时间区间T划分为一组等长的子区间饵,…;根据作业分类的结果,计算每个子区间中每一种作业类型的提交概率,从而建立作业提交概率模型; 步骤5:负载模拟;给定一个负载作业数量N,根据步骤4中建立的作业提交概率模型,计算每个子区间中各类型作业的提交数量,将各类型的作业在对应的子区间中均匀分布,从而实现负载模拟。
2.根据权利I所述的一种基于真实负载日志的MapReduce负载模拟方法,其特征在于:在步骤3中所建立的作业类型空间,是通过聚类算法对作业列表中的作业进行分类处理,提取出特定于该作业列表的典型作业类型而建立的,这个作业类型空间基于作业列表动态生成,更能反映真实负载中的作业特征;同时,对作业列表进行聚类分析时,分类越详细,最终所生成的模拟负载越真实。
3.根据权利I所述的一种基于真实负载日志的MapReduce负载模拟方法,其特征在于:在步骤4中建立的作业提交概率模型,是将负载的时间区间T划分为一组等长的子区间,分别计算在各子区间中,作业类型空间中每一类型作业的提交概率而建立,在这个过程中,子区间划分越小,建立的作业提交概率模型越真实。
4.根据权利I所述的一种基于真实负载日志的MapReduce负载模拟方法,其特征在于:在步骤5中,在生成模拟负载时,根据给定的模拟负载中作业数量N,根据已经得到的一个作业类型空间和作业提交概率模型,按比例扩大或者缩小模拟负载中各个子区间中各类型作业的提交数量,使负载模拟更加符合实际负载的动态特性。
全文摘要
本发明涉及一种大规模数据处理集群的负载模拟方法,尤其是基于集群作业日志的MapReduce负载模拟方法。本发明通过收集大规模数据处理集群中的作业日志,得到一个时间有序的作业列表;通过提取作业列表中各个作业的特征向量,采用模糊聚类算法进行基于特征向量作业分类;然后,将负载的时间区间划分为等长的子区间,分别计算各子区间中各类型作业的提交概率,得到作业提交概率模型;最后,利用作业类型空间和作业提交概率模型,计算出个子区间内各类型作业的提交数量,并将个子区间内同类型作业均匀分布,得到模拟负载。本发明在负载模拟时兼顾了大规模集群MapReduce负载的真实性和动态特性,提高了大规模集群MapReduce负载模拟的准确度。本发明可应用于MapReduce集群的模拟、性能测试、性能调优等工作中。
文档编号G06F9/455GK103207804SQ20131011852
公开日2013年7月17日 申请日期2013年4月7日 优先权日2013年4月7日
发明者徐向华, 刘智俊, 任祖杰 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1