[发明专利]一种基于微操作的Hadoop参数自动调优方法有效
申请号: | 201810426699.6 | 申请日: | 2018-05-07 |
公开(公告)号: | CN108647135B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 滕飞;李耘书;李天瑞;杜圣东 | 申请(专利权)人: | 西南交通大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 成都点睛专利代理事务所(普通合伙) 51232 | 代理人: | 孙一峰 |
地址: | 610031 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 操作 hadoop 参数 自动 方法 | ||
1.一种基于微操作的Hadoop参数自动调优方法,该方法用于优化MapReduce作业执行时的参数组合,其特征在于,包括以下步骤:
S1、建立微操作模型:
S11、选择微操作:对MapReduce任务进行解耦,选择Map任务中收集阶段单次内存写操作cm_micro_op和单次磁盘写操作cd_micro_op,以及Reduce任务中混洗阶段单次内存写操作sm_micro_op、单次内存溢出磁盘写操作sd_micro_op和单次文件合并磁盘写操作merge_micro_op为微操作;
S12、根据步骤S11选择的微操作,确定对其有影响的参数变化空间,具体为:影响cm_micro_op和cd_micro_op的参数为io.sort.mb和sort.spill.percent,取值空间为各自取值范围;影响sm_micro_op、sd_micro_op和merge_micro_op的参数为reduce.java.opts,shuffle.input.buffer.percent、shuffle.merge.percent和io.sort.factor,取值空间为各自变化范围;
S13、参数取值不同决定单次微操作处理数据量的不同,在参数空间内每个维度离散取值并执行实际作业作为微操作模型基准测试,测试单次微操作在处理不同数据量情况下的速率;
S14、收集基准测试用例在不同阶段的不同参数情况下的执行日志,分别对不同阶段的单次磁盘写操作和单次内存写操作建立单次执行时间与单次处理数据量的模型:
Tmicro_op=α*Dmicro_op+β
Tmicro_op表示微操作执行时间,Dmicro_op表示微操作单次处理的数据量,α和β为模型参数;
S2、将微操作模型按照收集阶段的运行过程进行重构组合得到阶段运行时间和系统参数的关系:
S21、根据步骤S14的模型建立微操作时间和对其操作有影响的系统参数之间的关系;
S22、以微操作为基础对收集阶段进行重构得到实际收集阶段的运行过程,得到收集阶段相关参数和该阶段执行时间的关系;
S3、将微操作模型按照混洗阶段的运行过程进行重构组合得到阶段运行时间和系统参数的关系:
S31、根据步骤S14的模型建立微操作时间和对其操作有影响的系统参数之间的关系;
S32、以微操作为基础对混洗阶段进行重构得到实际混洗阶段的运行过程,得到混洗阶段相关参数和该阶段执行时间的关系;
S33、对Reduce任务中的排序写阶段执行时间单独建模,在内存溢出磁盘写次数和数据量决定的参数空间内离散取值,执行实际作业任务,测试该阶段在不同参数情况下的执行时间和混洗阶段中内存溢出磁盘写次数和该阶段处理数据量的关系,建立排序写阶段执行时间和内存溢出磁盘写次数以及该阶段处理数据总量的模型:
Tsw_phase=Dsw_input*(Nspill*αsw_phase+βsw_phase)
Tsw_phase表示排序写阶段运行时间,Dsw_input表示单个reduce任务输入数据量,Nspill表示混洗阶段内存溢出磁盘写次数,αsw_phase和βsw_phase为模型参数;
S4、找出模型中使任务运行时间最短的参数组合:采用搜索优化算法得到模型中阶段执行时间最短的参数组合,在不同阶段搜索得出各自最优参数组合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南交通大学,未经西南交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810426699.6/1.html,转载请声明来源钻瓜专利网。