CN103701635A - 一种在线配置Hadoop参数的方法和装置 - Google Patents
一种在线配置Hadoop参数的方法和装置 Download PDFInfo
- Publication number
- CN103701635A CN103701635A CN201310672010.5A CN201310672010A CN103701635A CN 103701635 A CN103701635 A CN 103701635A CN 201310672010 A CN201310672010 A CN 201310672010A CN 103701635 A CN103701635 A CN 103701635A
- Authority
- CN
- China
- Prior art keywords
- task
- phase
- training
- configuration
- completes
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种在线配置Hadoop参数的方法和装置,以实现系统运行的性能最优。该方法包括:对生产环境集群中作业的数据量进行监控;当监控到生产环境集群中作业的数据量大于预设值时,统计当前配置下k个节点在p个任务阶段中每个任务阶段完成作业的平均完成时间;分别计算集合与n个记录中作业特征属性集合的n个欧几里得距离,获得n个欧几里得距离中最小欧几里得距离对应的记录;在当前配置和最优配置的配置参数值不等时,将最优配置设置为数据量大于预设值的作业在生产环境集群中运行时使用的配置。本发明能够在可以接受的时间里将这些情况的作业运行调整到资源使用的平衡状态,提高了系统在线运行的平均效率,实现系统运行的性能最优。
Description
技术领域
本发明涉及云计算领域,具体涉及一种在线配置Hadoop参数的方法和装置。
背景技术
Hadoop是Apache开源组织的一个分布式计算开源框架,被设计用来在由通用计算设备组成的大型集群上执行分布式应用。基于Java语言构建的Hadoop框架实际上是一种分布式处理大数据的平台,在近十年中,Hadoop已成为大数据革命的中心。
然而,Hadoop目前有多达190个配置参数,其中,大约有20个参数对Hadoop应用程序的效率有显著的影响。通过调整这些参数,可以进行四个方面的性能调优:CPU、内存、磁盘I/O和网络进行优化。例如,能影响磁盘I/O和CPU相关的参数包括mapred.compress.map.output、mapred.output.compress和mapred.map.output.compression.codec。这些参数用于控制是否对输出进行压缩,其中,mapred.compress.map.output用于map输出压缩,mapred.output.compress用于作业输出压缩,而mapred.map.output.compression.codec是压缩采用的压缩编解码器。除了默认的编解码器,用户也可以提供其他的压缩编解码器。这些选项在默认情况下都是禁用的。一方面,启用输出压缩可以加快磁盘写操作,减少数据传输的总时间(在shuffle阶段和HDFS写阶段都包括了磁盘IO资源和网络资源的使用),另一方面,压缩/解压过程会增加CPU资源的开销。与内存使用相关的参数包括参数io.sort.mb和参数mapred.job.shuffle.input.buffer.percent,其中,io.sort.mb设置用于map端排序的缓冲区大小,单位是MB,默认值是100。这个值越大,溢出到磁盘就越少,因此会减少map端的I/O时间,而增加这个值会导致每个map任务需要的内存增加。Reduce在shuffle阶段对下载来的map数据,并不是立刻就写入磁盘的,而是会先缓存在内存中,然后当使用内存达到一定量的时候才刷入磁盘。这个内存大小的控制就不像map一样可以通过io.sort.mb来设定了,而是通过参数mapred.job.shuffle.input.buffer.percent(默认值是0.7)来设置。mapred.job.shuffle.input.buffer.percent参数是一个百分比,表示shuffile在reduce内存中的数据最多使用内存量的百分比。默认情况下,reduce会使用其堆内存的70%来在内存中缓存数据。该参数的设置大小同样也会影响到磁盘溢出的大小,设置合理可以使得磁盘I/O的使用和内存的使用相对平衡。
虽然Hadoop对这些参数提供了默认的配置值,但是使用默认的配置并不能很好地适应变化的工作负载,从而导致Hadoop集群性能地衰减,因此需要用户通过设置配置文件mapred-site.xml中的一些参数来实现集群设置和调优。然而,由于参数的配置空间巨大,即使用户经验丰富,也不能很好地权衡CPU与I/O资源的使用,这就很容易产生出错的配置。鉴于此,现有技术提出了采用基于代价的方法对Hadoop/MapReduce的性能进行数学上的建模,实现对配置不同参数条件下的系统性能的预测。基于该模型采用递归的随机搜索算法自动地在参数空间中搜索最优的参数配置,实现了参数的自动配置过程。
上述现有技术提供的方法都是在Hadoop/MapReduce的离线状态下实施配置过程的,作业在Hadoop/MapReduce上运行时,这些配置不会发生改变。然而,对于连续运行的作业序列和数据计算分布不均匀的作业,这种配置方式将不再适应。首先,连续运行的作业序列在运行过程中,其配置需要根据不同的作业类型进行调整,因为不同的作业类型使用的CPU和I/O资源有可能不一样,固定的一种配置不再适应不同作业类型构成的序列。其次,对于数据计算分布不均匀的作业,这种作业输入的数据量大,处理这些数据的不同部分耗费的CPU资源是不一样的,当数据处理耗费的资源发生变化时就有必要调整Hadoop/MapReduce的参数配置以适应新的情况,使得作业完成的时间达到最优。
发明内容
本发明实施例提供一种在线配置Hadoop参数的方法和装置,以针对连续运行的作业序列或数据计算分布不均匀的作业,将其运行调整至资源使用的平衡状态,实现系统运行的性能最优。
本发明实施例提供一种在线配置Hadoop参数的方法,所述方法包括:
作业监控器对生产环境集群中用户所提交作业的数据量进行监控;
当监控到所述生产环境集群中用户所提交作业的数据量大于预设值时,所述作业监控器统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述p个平均完成时间patphase构成集合PhaseAveTime,所述k为大于1的自然数;
作业匹配器分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,所述配置数据库n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置,所述n为大于1的自然数;
资源平衡器比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置。
本发明另一实施例提供一种在线配置Hadoop参数的装置,所述装置包括:
作业监控器,用于对生产环境集群中用户所提交作业的数据量进行监控;当监控到所述生产环境集群中用户所提交作业的数据量大于预设值时,统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述p个平均完成时间patphase构成集合PhaseAveTime,所述k为大于1的自然数;
作业匹配器器,用于分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,所述配置数据库n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置,所述n为大于1的自然数;
资源平衡器,用于比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置。
从上述本发明实施例可知,一方面,由于作业监控器是在监控到生产环境集群中用户所提交作业的数据量大于预设值时才触发Hadoop参数的在线配置,而确定n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置的计算节点不属于生产环境集群,其确定特征属性集合和最优配置的过程是离线过程,因此在线配置Hadoop参数的过程不会影响实际系统的正常运行;另一方面,资源平衡器经比较获知当前配置和最优配置的配置参数值不等时,将所述最优配置设置为数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置,因此,在数据中心具有大量、连续运行的作业序列或数据计算分布不均匀的作业时,本发明实施例提供的方法和装置能够适应作业调整的情况和数据计算分布不均匀的情况,在可以接受的时间里将这些情况的作业运行调整到资源使用的平衡状态,提高了系统在线运行的平均效率,实现系统运行的性能最优。
附图说明
图1是本发明实施例提供的在线配置Hadoop参数的方法的基本流程示意图;
图2-a是本发明实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图2-b是本发明实施例提供的在线配置Hadoop参数的装置中各器件与配置数据库等的连接关系示意图;
图3是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图4是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图5-a是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图5-b是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图5-c是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图6-a是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图6-b是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图;
图6-c是本发明另一实施例提供的在线配置Hadoop参数的装置逻辑结构示意图。
具体实施方式
本发明实施例提供一种在线配置Hadoop参数的方法,包括:作业监控器对生产环境集群中用户所提交作业的数据量进行监控;当监控到所述生产环境集群中用户所提交作业的数据量大于预设值时,所述作业监控器统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述p个平均完成时间patphase构成集合PhaseAveTime,所述k为大于1的自然数;作业匹配器分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,所述配置数据库n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置,所述n为大于1的自然数;资源平衡器比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置。本发明实施例还提供相应的在线配置Hadoop参数的装置。以下分别进行详细说明。
本发明实施例的在线配置Hadoop参数的方法的基本流程可参考图1,该方法可用于Hadoop集群。需要说明的是,由于Hadoop/MapReduce框架并不支持在线调整参数配置及时生效的机制,由此,在实现本发明的在线配置Hadoop参数的方法时,需要修改Hadoop/MapReduce源码,增加参数修改后立即生效的机制;该机制是通过在需要参数数值的代码段之前加入重新读入参数和初始化对应资源的代码而实现的。附图1示例的在线配置Hadoop参数的方法主要包括如下步骤S101至步骤S104:
S101,作业监控器对生产环境集群中用户所提交作业的数据量进行监控。
在本发明实施例中,生产环境集群可以是MapReduce生产环境集群。
S102,当监控到生产环境集群中用户所提交作业的数据量大于预设值时,作业监控器统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成用户所提交作业的平均完成时间patphase,其中,p个平均完成时间patphase构成集合PhaseAveTime,k为大于1的自然数。
在本发明实施例中,作业监控器并非每时每刻都对生产环境集群中用户所提交作业的运行状况进行监控。一般情况下,作业监控器每分钟进行一次周期性地监控,监控生产环境集群中是否有用户新提交作业。当作业监控器监控到新的用户所提交作业启动,并且其数据量大于预设值(例如,50G)的事件发生时才触发在线配置的过程。由于这一结果可以通过Hadoop自身的日志系统得到,不需要额外的负载计算,因此,在线配置不会影响实际系统的正常运行。
需要说明的是,本发明所述的p个任务阶段可以是map任务的5个任务阶段即{read,map,collect,spill,merge}和reduce任务的4个任务阶段即{shuffle,sort,reduce,write},为了下文描述的方便,将map任务的5个任务阶段{read,map,collect,spill,merge}记为集合MPhase,即MPhase={read,map,collect,spill,merge},将reduce任务的4个任务阶段{read,map,collect,spill,merge}记为集合RPhase,即RPhase={shuffle,sort,reduce,write},两个集合的合集记为Phase,即Phase=MPhase∪RPhase。
作为本发明一个实施例,作业监控器统计当前配置下生产环境集群的k个节点在p个任务阶段中每个任务阶段完成用户所提交作业的平均完成时间patphase可以是包括如下步骤S1021和步骤S1022:
S1021,统计当前配置下生产环境集群的k个节点中任意第i个节点在p个任务阶段中每个任务阶段完成用户所提交作业的完成时间
中的下标phase表示p个任务阶段中任意一个任务阶段。如前所述,Phase=MPhase∪RPhase,因此,就表示当前配置下生产环境集群的k个节点中任意第i个节点在read这一任务阶段完成用户所提交作业的完成时间,等的含义类推。
如前类似,patphase中的下标phase表示p个任务阶段中任意一个任务阶段。生产环境集群的k个节点在p个任务阶段中每个任务阶段完成用户所提交作业的平均完成时间patphase的集合使用PhaseAveTime表示。按照前述对p个任务阶段的举例以及此处对patphase下标的说明,集合PhaseAveTime={patread,patmap,patcollect,patspill,patmerge,patshuffle,patsort,patreduce,patwrite}。
S103,作业匹配器器分别计算集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录。
其中,配置数据库中的n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置,此处,n为大于1的自然数。在本发明实施例中,配置数据库中的n个记录是在作业监控器对生产环境集群中用户所提交作业的数据量进行监控之前,通过作业训练器对n个作业的训练得到,即,作业监控器对生产环境集群中用户所提交作业的数据量进行监控之前还包括:作业训练器获取所述n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置,具体通过如下步骤S1至步骤S4得到:。
S1,对n个训练作业中每一个提交至作业训练器的训练作业,作业训练器在配置参数表中搜索一个配置C设置用于运行所述训练作业的测试环境集群。
在本发明实施例中,测试环境集群可以是MapReduce测试环境集群。可以选择在数据中心经常运行的n个作业,从每一个作业的总数据集中抽样产生5G的数据集,从而构成对应的n个训练作业,将这n个训练作业的数据提交给作业提交器。作业提交器保存这些训练作业和对应的数据,并按每次一个训练作业的方式提交给作业训练器。
如前所述,Hadoop目前有多达190个配置参数。在本发明实施例中,作业训练器可以将选择范围限定在下表1示例的配置参数表,其中包含11个影响Hadoop/MapReduce性能的配置参数:
表1
具体地,作业训练器调用随机搜索算法在表1的包含的配置参数范围内搜索配置,对每一个随机抽样即每一个训练作业可以得到配置C,使用配置C中各个配置参数的值设置MapReduce测试环境集群,然后向其提交训练作业运行。
S2,计算在配置C下p个任务阶段中每个任务阶段完成m个map任务的平均完成时间aveTimemphase和r个reduce任务的平均完成时间aveTimerphase,即,按照公式计算在配置C下p个任务阶段中每个任务阶段完成m个map任务的平均完成时间aveTimemphase,按照公式计算在配置C下p个任务阶段中每个任务阶段完成r个reduce任务的平均完成时间aveTimerphase。
其中,n个训练作业中每一个训练作业包含所述m个map任务和所述r个reduce任务,下标mphase表示map任务的任意一个任务阶段,下标rphase表示reduce任务的任意一个任务阶段,为m个map任务中第i个map任务在mphase这一任务阶段的运行时间,为r个reduce任务中第j个reduce任务在rphase这一任务阶段的运行时间。
S3,根据aveTimemphase和aveTimerphase,计算对n个作业中一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在p个任务阶段中mphase这一任务阶段完成s次n个作业中一个包含m个map任务的作业的平均完成时间jatmphase和在p个任务阶段中rphase这一任务阶段完成s次n个作业中一个包含r个reduce任务的作业的平均完成时间jatrphase,以及在s次完成n个作业中任意一个作业后确定完成所述任意一个作业所使用的最优配置Coptimal。
即,按照公式计算对n个作业中一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在p个任务阶段中mphase这一任务阶段完成s次n个作业中一个包含m个map任务的作业的平均完成时间jatmphase,按照公式计算对n个作业中一个作业一进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在p个任务阶段中rphase这一任务阶段完成s次n个作业中一个包含r个reduce任务的作业的平均完成时间jatrphase,其中,mphase∈MPhase,rphase∈RPhase。按照Phase=MPhase∪RPhase的定义,与jatmphase和jatrphase的下标对应,可以得到作业在不同任务阶段的平均完成时间jatmphase和平均完成时间jatrphase构成的特征属性集合JobAveTime,即JobAveTime={jatread,jatmap,jatcollect,jatspill,jatmerge,jatshuffle,jatsort,jatreduce,jatwrite}。
上述公式中,为在mphase这一任务阶段,对s次随机抽样中第i次抽样所得包含m个map任务的训练作业Wi而言完成m个map任务的平均完成时间,为在rphase这一任务阶段,对s次随机抽样中第j次抽样所得包含r个reduce任务的训练作业Wi而言完成r个reduce任务的平均完成时间。
S4,重复上述步骤S1至步骤S3,直至获得分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置的记录。将这n个记录保存于配置数据库。
作为本发明一个实施例,作业匹配器分别计算集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,包括如下步骤S1031和步骤S1032:
S1031,按照公式 计算集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离。
其中,TimeEuclidDistance为集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离中的任意一个欧几里得距离,jatphase∈JobAveTime,jatphase为对n个作业中的一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中一个任务阶段完成所述s次所述n个作业中的一个作业的平均完成时间,所述Phase为所述p个任务阶段构成的集合,所述phase为所述Phase中的元素;
S1032,获得TimeEuclidDistance的最小值后,从配置数据库中取使得n个欧几里得距离中欧几里得距离最小时对应的记录。
如前所述,已经将分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置的记录保存于配置数据库,因此,可以在获得TimeEuclidDistance的最小值后,从配置数据库中取使得n个欧几里得距离中欧几里得距离最小时对应的记录。
S104,资源平衡器比较当前配置和最优配置,若当前配置和最优配置的配置参数值不等,则将最优配置设置为数据量大于预设值的用户所提交作业在生产环境集群中运行时使用的配置。
由于离线的过程已经统计了各个作业的特征属性,在线调节过程的负载主要耗费在统计平均时间和作业特征匹配,这两个过程的计算节点不属于生产环境集群,因此,资源平衡器对配置参数的在线调节过程不会影响实际系统的正常运行。
从上述本发明实施例提供的在线配置Hadoop参数的方法可知,一方面,由于作业监控器是在监控到生产环境集群中用户所提交作业的数据量大于预设值时才触发Hadoop参数的在线配置,而确定n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置的计算节点不属于生产环境集群,其确定特征属性集合和最优配置的过程是离线过程,因此在线配置Hadoop参数的过程不会影响实际系统的正常运行;另一方面,资源平衡器经比较获知当前配置和最优配置的配置参数值不等时,将所述最优配置设置为数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置,因此,在数据中心具有大量、连续运行的作业序列或数据计算分布不均匀的作业时,本发明实施例提供的方法和装置能够适应作业调整的情况和数据计算分布不均匀的情况,在可以接受的时间里将这些情况的作业运行调整到资源使用的平衡状态,提高了系统在线运行的平均效率,实现系统运行的性能最优。
下面对用于执行上述在线配置Hadoop参数的方法的本发明实施例的在线配置Hadoop参数的装置进行说明,其基本逻辑结构参考附图2-a。为了便于说明,附图2-a示例的在线配置Hadoop参数的装置仅仅示出了与本发明实施例相关的部分,主要包括作业监控器201、作业匹配器202和资源平衡器203,各器件详细说明如下:
作业监控器201,用于对生产环境集群中用户所提交作业的数据量进行监控;当监控到所述生产环境集群中用户所提交作业的数据量大于预设值时,统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述p个平均完成时间patphase构成集合PhaseAveTime,所述k为大于1的自然数;
作业匹配器202,用于分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,所述配置数据库n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置,所述n为大于1的自然数;
资源平衡器203,用于比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置。
需要说明的是,以上附图2-a示例的在线配置Hadoop参数的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述在线配置Hadoop参数的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的作业匹配器,可以是具有执行前述分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录的软件,例如作业匹配模块,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的资源平衡器,可以是具有执行前述比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置功能的软件,例如资源平衡模块,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
本发明另一实施例提供的在线配置Hadoop参数的装置中各器件与配置数据库等的连接关系如附图2-b所示。
附图2-a示例的作业监控器201可以包括统计模块301和第一计算模块302,如附图3所示本发明另一实施例提供的在线配置Hadoop参数的装置,其中:
第一计算模块302,用于对按照公式计算,得到当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述下标phase表示所述p个任务阶段中任意一个任务阶段。
附图2-a示例的作业匹配器202可以包括欧几里得距离计算模块401和记录确定模块402,如附图4所示本发明另一实施例提供的在线配置Hadoop参数的装置,其中:
欧几里得距离计算模块401,用于按照公式 计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,所述TimeEuclidDistance为所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离中的任意一个欧几里得距离,所述jatphase∈JobAveTime,所述jatphase为对所述n个作业中的一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中一个任务阶段完成所述s次所述n个作业中的一个作业的平均完成时间,所述Phase为所述p个任务阶段构成的集合,所述phase为所述Phase中的元素;
记录确定模块402,用于获得TimeEuclidDistance的最小值后,从所述配置数据库中取使得所述n个欧几里得距离中欧几里得距离最小时对应的记录。
附图2-a、附图3或附图4任一示例的在线配置Hadoop参数的装置还包括作业训练器501,如附图5-a至附图5-c任一示例的在线配置Hadoop参数的装置。作业训练器501用于获取所述n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置。
附图5-a至附图5-c任一示例的作业训练器可以包括配置搜索模块601、第二计算模块602和第三计算模块603,如附图6-a至附图6-c任一示例的在线配置Hadoop参数的装置,其中:
配置搜索模块601,用于对所述n个训练作业中每一个提交至作业训练器的训练作业,所述作业训练器在配置参数表中搜索一个配置C设置用于运行所述训练作业的测试环境集群;
第二计算模块602,用于计算在所述配置C下p个任务阶段中每个任务阶段完成m个map任务的平均完成时间aveTimemphase和r个reduce任务的平均完成时间aveTimerphase,所述 所述所述n个训练作业中每一个训练作业包含所述m个map任务和所述r个reduce任务,所述下标mphase表示所述map任务的任意一个任务阶段,所述下标rphase表示所述reduce任务的任意一个任务阶段,所述为m个map任务中第i个map任务在mphase这一任务阶段的运行时间,所述为r个reduce任务中第j个reduce任务在rphase这一任务阶段的运行时间;
第三计算模块603,用于根据所述aveTimemphase和aveTimerphase,计算对所述n个作业中一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中mphase这一任务阶段完成s次所述n个作业中一个包含m个map任务的作业的平均完成时间jatmphase和在所述p个任务阶段中rphase这一任务阶段完成s次所述n个作业中一个包含r个reduce任务的作业的平均完成时间jatrphase,以及在s次完成所述n个作业中任意一个作业后确定完成所述任意一个作业所使用的最优配置,所述所述所述为在所述mphase这一任务阶段,对所述s次随机抽样中第i次抽样所得包含m个map任务的训练作业Wi而言完成所述m个map任务的平均完成时间,所述为在所述rphase这一任务阶段,对所述s次随机抽样中第j次抽样所得包含r个reduce任务的训练作业Wi而言完成所述r个reduce任务的平均完成时间;
所述配置搜索模块601、第二计算模块602和第三计算模块603依次重复其各自的执行步骤,直至获得所述分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置的记录。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的在线配置Hadoop参数的方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种在线配置Hadoop参数的方法,其特征在于,所述方法包括:
作业监控器对生产环境集群中用户所提交作业的数据量进行监控;
当监控到所述生产环境集群中用户所提交作业的数据量大于预设值时,所述作业监控器统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述p个平均完成时间patphase构成集合PhaseAveTime,所述k为大于1的自然数;
作业匹配器器分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,所述配置数据库n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置,所述n为大于1的自然数;
资源平衡器比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置。
3.根据权利要求1所述的方法,其特征在于,所述作业匹配器分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,包括:
按照公式 计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,所述TimeEuclidDistance为所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离中的任意一个欧几里得距离,所述jatphase∈JobAveTime,所述jatphase为对所述n个作业中的一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中一个任务阶段完成所述s次所述n个作业中的一个作业的平均完成时间,所述Phase为所述p个任务阶段构成的集合,所述phase为所述Phase中的元素;
获得TimeEuclidDistance的最小值后,从所述配置数据库中取使得所述n个欧几里得距离中欧几里得距离最小时对应的记录。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述作业监控器对生产环境集群中用户所提交作业的数据量进行监控之前,还包括:
作业训练器获取所述n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置。
5.根据权利要求4所述的方法,其特征在于,所述作业训练器获取所述n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置,包括如下步骤S1至步骤S4:
S1,对所述n个训练作业中每一个提交至作业训练器的训练作业,所述作业训练器在配置参数表中搜索一个配置C设置用于运行所述训练作业的测试环境集群;
S2,计算在所述配置C下p个任务阶段中每个任务阶段完成m个map任务的平均完成时间aveTimemphase和r个reduce任务的平均完成时间aveTimerphase,所述 所述 所述n个训练作业中每一个训练作业包含所述m个map任务和所述r个reduce任务,所述下标mphase表示所述map任务的任意一个任务阶段,所述下标rphase表示所述reduce任务的任意一个任务阶段,所述为m个map任务中第i个map任务在mphase这一任务阶段的运行时间,所述为r个reduce任务中第j个reduce任务在rphase这一任务阶段的运行时间;
S3,根据所述aveTimemphase和aveTimerphase,计算对所述n个作业中一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中mphase这一任务阶段完成s次所述n个作业中一个包含m个map任务的作业的平均完成时间jatmphase和在所述p个任务阶段中rphase这一任务阶段完成s次所述n个作业中一个包含r个reduce任务的作业的平均完成时间jatrphase,以及在s次完成所述n个作业中任意一个作业后确定完成所述任意一个作业所使用的最优配置,所述所述所述为在所述mphase这一任务阶段,对所述s次随机抽样中第i次抽样所得包含m个map任务的训练作业Wi而言完成所述m个map任务的平均完成时间,所述为在所述rphase这一任务阶段,对所述s次随机抽样中第j次抽样所得包含r个reduce任务的训练作业Wi而言完成所述r个reduce任务的平均完成时间;
S4,重复上述步骤S1至步骤S3,直至获得所述分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置的记录。
6.一种在线配置Hadoop参数的装置,其特征在于,所述装置包括:
作业监控器,用于对生产环境集群中用户所提交作业的数据量进行监控;当监控到所述生产环境集群中用户所提交作业的数据量大于预设值时,统计当前配置下所述生产环境集群的k个节点在p个任务阶段中每个任务阶段完成所述用户所提交作业的平均完成时间patphase,所述p个平均完成时间patphase构成集合PhaseAveTime,所述k为大于1的自然数;
作业匹配器,用于分别计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,获得所述n个欧几里得距离中最小欧几里得距离对应的记录,所述配置数据库n个记录分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和n个完成所述n个训练作业时所使用的最优配置,所述n为大于1的自然数;
资源平衡器,用于比较所述当前配置和最优配置,若所述当前配置和最优配置的配置参数值不等,则将所述最优配置设置为所述数据量大于预设值的用户所提交作业在所述生产环境集群中运行时使用的配置。
8.根据权利要求6所述的装置,其特征在于,所述作业匹配器包括:
欧几里得距离计算模块,用于按照公式 计算所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离,所述TimeEuclidDistance为所述集合PhaseAveTime与配置数据库n个记录中作业特征属性集合JobAveTime的n个欧几里得距离中的任意一个欧几里得距离,所述jatphase∈JobAveTime,所述jatphase为对所述n个作业中的一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中一个任务阶段完成所述s次所述n个作业中的一个作业的平均完成时间,所述Phase为所述p个任务阶段构成的集合,所述phase为所述Phase中的元素;
记录确定模块,用于获得TimeEuclidDistance的最小值后,从所述配置数据库中取使得所述n个欧几里得距离中欧几里得距离最小时对应的记录。
9.根据权利要求6至8任意一项所述的装置,其特征在于,所述装置还包括:
作业训练器,用于获取所述n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置。
10.根据权利要求9所述的装置,其特征在于,所述作业训练器包括:
配置搜索模块,用于对所述n个训练作业中每一个提交至作业训练器的训练作业,所述作业训练器在配置参数表中搜索一个配置C设置用于运行所述训练作业的测试环境集群;
第二计算模块,用于计算在所述配置C下p个任务阶段中每个任务阶段完成m个map任务的平均完成时间aveTimemphase和r个reduce任务的平均完成时间aveTimerphase,所述 所述所述n个训练作业中每一个训练作业包含所述m个map任务和所述r个reduce任务,所述下标mphase表示所述map任务的任意一个任务阶段,所述下标rphase表示所述reduce任务的任意一个任务阶段,所述为m个map任务中第i个map任务在mphase这一任务阶段的运行时间,所述为r个reduce任务中第j个reduce任务在rphase这一任务阶段的运行时间;
第三计算模块,用于根据所述aveTimemphase和aveTimerphase,计算对所述n个作业中一个作业进行s次随机抽样所得s个训练作业Ws提交至测试环境集群中运行时,在所述p个任务阶段中mphase这一任务阶段完成s次所述n个作业中一个包含m个map任务的作业的平均完成时间jatmphase和在所述p个任务阶段中rphase这一任务阶段完成s次所述n个作业中一个包含r个reduce任务的作业的平均完成时间jatrphase,以及在s次完成所述n个作业中任意一个作业后确定完成所述任意一个作业所使用的最优配置,所述所述所述为在所述mphase这一任务阶段,对所述s次随机抽样中第i次抽样所得包含m个map任务的训练作业Wi而言完成所述m个map任务的平均完成时间,所述为在所述rphase这一任务阶段,对所述s次随机抽样中第j次抽样所得包含r个reduce任务的训练作业Wi而言完成所述r个reduce任务的平均完成时间;
所述配置搜索模块、第二计算模块和第三计算模块依次重复其各自的执行步骤,直至获得所述分别包含n个作业对应的n个训练作业在训练时获得的n个作业特征属性集合和完成所述n个训练作业时所使用的n个最优配置的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310672010.5A CN103701635B (zh) | 2013-12-10 | 2013-12-10 | 一种在线配置Hadoop参数的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310672010.5A CN103701635B (zh) | 2013-12-10 | 2013-12-10 | 一种在线配置Hadoop参数的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103701635A true CN103701635A (zh) | 2014-04-02 |
CN103701635B CN103701635B (zh) | 2017-02-15 |
Family
ID=50363038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310672010.5A Active CN103701635B (zh) | 2013-12-10 | 2013-12-10 | 一种在线配置Hadoop参数的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103701635B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503844A (zh) * | 2014-12-29 | 2015-04-08 | 中国科学院深圳先进技术研究院 | 一种基于多阶段特征的MapReduce作业细粒度分类方法 |
CN104978345A (zh) * | 2014-04-09 | 2015-10-14 | 中国移动通信集团公司 | 一种基于MapReduce的数据处理方法和装置 |
CN105096096A (zh) * | 2014-04-29 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 任务性能评价方法及系统 |
CN105610621A (zh) * | 2015-12-31 | 2016-05-25 | 中国科学院深圳先进技术研究院 | 一种分布式系统架构任务级参数动态调整的方法及装置 |
CN106126407A (zh) * | 2016-06-22 | 2016-11-16 | 西安交通大学 | 一种针对分布式存储系统的性能监控调优系统及方法 |
CN106202431A (zh) * | 2016-07-13 | 2016-12-07 | 华中科技大学 | 一种基于机器学习的Hadoop参数自动调优方法及系统 |
CN106681826A (zh) * | 2015-11-09 | 2017-05-17 | 纬创资通股份有限公司 | 丛集运算架构的资源规划方法、系统及装置 |
CN108196959A (zh) * | 2018-02-07 | 2018-06-22 | 聚好看科技股份有限公司 | Etl系统的资源管理方法及装置 |
CN108234177A (zh) * | 2016-12-21 | 2018-06-29 | 深圳先进技术研究院 | 一种HBase配置参数自动调优方法及装置、用户设备 |
US10102098B2 (en) | 2015-12-24 | 2018-10-16 | Industrial Technology Research Institute | Method and system for recommending application parameter setting and system specification setting in distributed computation |
CN109086212A (zh) * | 2018-09-04 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种均衡自动化测试运行时间的方法 |
CN111858003A (zh) * | 2020-07-16 | 2020-10-30 | 山东大学 | 一种Hadoop最优参数评估方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289277A (zh) * | 2011-07-06 | 2011-12-21 | 中国科学院深圳先进技术研究院 | 数据中心应用服务的调度方法 |
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
US20130311480A1 (en) * | 2012-04-27 | 2013-11-21 | International Business Machines Corporation | Sensor data locating |
-
2013
- 2013-12-10 CN CN201310672010.5A patent/CN103701635B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
CN102289277A (zh) * | 2011-07-06 | 2011-12-21 | 中国科学院深圳先进技术研究院 | 数据中心应用服务的调度方法 |
US20130311480A1 (en) * | 2012-04-27 | 2013-11-21 | International Business Machines Corporation | Sensor data locating |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978345A (zh) * | 2014-04-09 | 2015-10-14 | 中国移动通信集团公司 | 一种基于MapReduce的数据处理方法和装置 |
CN104978345B (zh) * | 2014-04-09 | 2018-08-17 | 中国移动通信集团公司 | 一种基于MapReduce的数据处理方法和装置 |
CN105096096A (zh) * | 2014-04-29 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 任务性能评价方法及系统 |
CN104503844A (zh) * | 2014-12-29 | 2015-04-08 | 中国科学院深圳先进技术研究院 | 一种基于多阶段特征的MapReduce作业细粒度分类方法 |
CN104503844B (zh) * | 2014-12-29 | 2018-03-09 | 中国科学院深圳先进技术研究院 | 一种基于多阶段特征的MapReduce作业细粒度分类方法 |
CN106681826A (zh) * | 2015-11-09 | 2017-05-17 | 纬创资通股份有限公司 | 丛集运算架构的资源规划方法、系统及装置 |
CN106681826B (zh) * | 2015-11-09 | 2019-08-30 | 纬创资通股份有限公司 | 丛集运算架构的资源规划方法、系统及装置 |
US10102098B2 (en) | 2015-12-24 | 2018-10-16 | Industrial Technology Research Institute | Method and system for recommending application parameter setting and system specification setting in distributed computation |
CN105610621A (zh) * | 2015-12-31 | 2016-05-25 | 中国科学院深圳先进技术研究院 | 一种分布式系统架构任务级参数动态调整的方法及装置 |
CN105610621B (zh) * | 2015-12-31 | 2019-04-26 | 中国科学院深圳先进技术研究院 | 一种分布式系统架构任务级参数动态调整的方法及装置 |
CN106126407A (zh) * | 2016-06-22 | 2016-11-16 | 西安交通大学 | 一种针对分布式存储系统的性能监控调优系统及方法 |
CN106126407B (zh) * | 2016-06-22 | 2018-07-17 | 西安交通大学 | 一种针对分布式存储系统的性能监控调优系统及方法 |
CN106202431A (zh) * | 2016-07-13 | 2016-12-07 | 华中科技大学 | 一种基于机器学习的Hadoop参数自动调优方法及系统 |
CN106202431B (zh) * | 2016-07-13 | 2019-06-28 | 华中科技大学 | 一种基于机器学习的Hadoop参数自动调优方法及系统 |
CN108234177A (zh) * | 2016-12-21 | 2018-06-29 | 深圳先进技术研究院 | 一种HBase配置参数自动调优方法及装置、用户设备 |
CN108196959A (zh) * | 2018-02-07 | 2018-06-22 | 聚好看科技股份有限公司 | Etl系统的资源管理方法及装置 |
CN108196959B (zh) * | 2018-02-07 | 2021-06-01 | 聚好看科技股份有限公司 | Etl系统的资源管理方法及装置 |
CN109086212A (zh) * | 2018-09-04 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种均衡自动化测试运行时间的方法 |
CN111858003A (zh) * | 2020-07-16 | 2020-10-30 | 山东大学 | 一种Hadoop最优参数评估方法及装置 |
CN111858003B (zh) * | 2020-07-16 | 2021-05-28 | 山东大学 | 一种Hadoop最优参数评估方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103701635B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103701635A (zh) | 一种在线配置Hadoop参数的方法和装置 | |
US10642642B2 (en) | Techniques to manage virtual classes for statistical tests | |
Venkataraman et al. | The power of choice in {Data-Aware} cluster scheduling | |
CN107729138B (zh) | 一种高性能分布式矢量空间数据的分析方法和装置 | |
Canny et al. | Machine learning at the limit | |
Qu et al. | A dynamic replica strategy based on Markov model for hadoop distributed file system (HDFS) | |
CN103365727A (zh) | 一种云计算环境中的主机负载预测方法 | |
WO2013185175A1 (en) | Predictive analytics for resource provisioning in hybrid cloud | |
Gu et al. | Chronos: An elastic parallel framework for stream benchmark generation and simulation | |
CN103713935A (zh) | 一种在线管理Hadoop集群资源的方法和装置 | |
CN115335821B (zh) | 卸载统计收集 | |
CN110383245A (zh) | 具有动态反馈的安全智能联网架构 | |
KR20220009682A (ko) | 분산 기계 학습 방법 및 시스템 | |
Wang | Stream processing systems benchmark: Streambench | |
Wang et al. | Design and implementation of an analytical framework for interference aware job scheduling on apache spark platform | |
Kosaian et al. | Parity models: A general framework for coding-based resilience in ML inference | |
Xu et al. | Model-based reinforcement learning for elastic stream processing in edge computing | |
Rizvandi et al. | On modeling dependency between mapreduce configuration parameters and total execution time | |
WO2017015059A1 (en) | Efficient cache warm up based on user requests | |
Proficz et al. | Performance and power-aware modeling of MPI applications for cluster computing | |
Yang et al. | Probabilistic modeling of renewable energy source based on Spark platform with large‐scale sample data | |
Liang et al. | Communication-Efficient Large-Scale Distributed Deep Learning: A Comprehensive Survey | |
Babaoglu et al. | Cognified distributed computing | |
CN118245227B (zh) | 一种基于时间窗内决策树的计算集群任务调度与负载均衡方法 | |
Wen et al. | Performance enhancement for iterative data computing with in‐memory concurrent processing |
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 |