一种提高Mapreduce任务Shuffle性能的控制器制造技术

技术编号:16644402 阅读:77 留言:0更新日期:2017-11-26 16:44
本发明专利技术公开了涉及分布式系统领域,特别涉及一种提高Mapreduce任务Shuffle性能的控制器。用户提供必备参数;生成控制器,再根据必备参数对控制器进行定义;加载步骤1中的进行定义后的控制器,生成临时Mapper任务,采集临时Mapper任务结果数据,分析临时Mapper任务中产生的Key,控制器根据Mapper任务的分区方式确定Reducer任务的启动节点;启动Mapreduce任务,在进行Reducer任务前调度步骤2的控制器,确定Reducer任务的启动节点,启动Reducer任务,最后输出Mapreduce任务的最终结果。本发明专利技术提供一种可以优化shuffle流程的控制器,降低了Mapper任务完成后节点间数据传输的距离;降低了在网络中传输的数据量;屏蔽了不同数据、业务逻辑的差异性,使得shuffle的优化更通用。

A controller for improving Shuffle performance of Mapreduce task

The invention relates to the field of distributed systems, in particular to a controller for improving the Shuffle performance of Mapreduce tasks. Provide the necessary parameters of the user; generating controller, according to the essential parameters of the controller are defined; loading steps in definition 1 after the controller to generate a temporary Mapper task, Mapper task data acquisition temporary results, analysis of the temporary Mapper tasks in the Key controller to determine the start node according to the Mapper Reducer task task partition start Mapreduce; task controller in Reducer task scheduling step 2, determine the start node of the Reducer task, Reducer task start, final results of the final output Mapreduce task. The present invention provides a process to optimize shuffle controller, reducing the distance of data transmission between the nodes of the Mapper after the completion of the task; reduce the amount of data transmission in the network; shielding different data, business logic, making shuffle a more general optimization.

【技术实现步骤摘要】
一种提高Mapreduce任务Shuffle性能的控制器
本专利技术涉及分布式系统领域,特别涉及一种提高Mapreduce任务Shuffle性能的控制器。
技术介绍
在一个Mapreduce任务中,Shuffle阶段严重影响任务的执行效率,因为Shuffle阶段会引起大量数据网络传输,而在数据的传输过程中引起的丢包、时延、网络堵塞的几率会成倍提升。一个正常的Mapreduce任务可能变得缓慢甚至不会运行成功。对开发人员来说,上述场景的发生都会浪费大量的时间去调优、分析错误日志。所以优化Shuffle阶段的运行流程对于提高任务的执行速度有重要意义。
技术实现思路
本专利技术的目的在于克服现有技术中Mapreduce任务网络堵塞几率高、需浪费大量时间去调优以及分析错误日志的问题,提供一种提高Mapreduce任务Shuffle性能的控制器,降低了Mapper任务完成后节点间数据传输的距离,降低了在网络中传输的数据量,同时屏蔽了不同数据、业务逻辑的差异性,使得Shuffle的优化更通用。为了实现上述专利技术目的,本专利技术提供了以下技术方案:一种提高Mapreduce任务Shuffle性能的控本文档来自技高网...
一种提高Mapreduce任务Shuffle性能的控制器

【技术保护点】
一种提高Mapreduce任务Shuffle性能的控制器,其特征在于,包括以下几个步骤:步骤1:用户提供必备参数;生成控制器,再根据必备参数对控制器进行定义;步骤2:加载步骤1中的进行定义后的控制器,生成临时Mapper任务,采集临时Mapper任务结果数据,分析临时Mapper任务中产生的Key,控制器根据临时Mapper任务的分区方式确定Reducer任务的启动节点;步骤3:启动Mapreduce任务,在进行Reducer任务前调度步骤2的控制器,确定Reducer任务的启动节点,启动Reducer任务,最后输出Mapreduce任务的最终结果。

【技术特征摘要】
1.一种提高Mapreduce任务Shuffle性能的控制器,其特征在于,包括以下几个步骤:步骤1:用户提供必备参数;生成控制器,再根据必备参数对控制器进行定义;步骤2:加载步骤1中的进行定义后的控制器,生成临时Mapper任务,采集临时Mapper任务结果数据,分析临时Mapper任务中产生的Key,控制器根据临时Mapper任务的分区方式确定Reducer任务的启动节点;步骤3:启动Mapreduce任务,在进行Reducer任务前调度步骤2的控制器,确定Reducer任务的启动节点,启动Reducer任务,最后输出Mapreduce任务的最终结果。2.根据权利要求1所述的,其特征在于,所述步骤2包括以下几个步骤:步骤2.1:根据定义的必备参数,生成一个临时Mapper任务,同时不输出KV,分析必备参数,得到临时Mapper任务的启动位置及启动个数;步骤2.2:启动步骤2.1的任务,同时在每个临时Mapper任务中嵌入统计Key的计数器,该计数器对分区、Key、临时Mapper任务的节点位置和Key的数量进行动态统计,在每个临时Mapper任务结束时将对应的统计结果更新到数据库;步骤2.3:设运行临时Mapper任务的节点有n个,在临时Mapper任务的n个节点中选择任意m个节点作为Reducer任务的运行节点,一共有选择方式,设其中任一一种选择方式为一个分区,对分区进行编号,有m!种编号方式;步骤2.4:设每个j对应一种分区,每种分区编号下Shuffle进程数据传输量为vi,i∈(0,m!-1),对Key进行采样,统计每个Mapper节点对应分区的数据量,并把这个结果写入到HDFS临时文件,由H...

【专利技术属性】
技术研发人员:朱虹锦王国谦邓小旭
申请(专利权)人:成都优易数据有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1