The embodiment of the invention discloses a load balancing method for processing the tilt of MapReduce data, relating to the field of cluster scheduling and load balancing. With the large-scale MapReduce clusters are widely used in large data processing, one of the main problems is how to minimize the work time, improve the service efficiency of MapReduce; in the past MapReduce, less related to the equilibrium data of related issues, the present invention for MapReduce running process data skew, proposed Reduce load balancing algorithm in the end, the method comprises the steps of sampling analysis on the input data, determine the average number of each Reduce node task; according to the task and the number of time according to the number of coefficients based on task time coefficient from big to small in descending order, the same number according to the ordinal sort according to the resource; the principle of maximum and residual capacity the order arrangement task assignments, until all tasks allocated; and will be submitted to the self distribution Defines the Partition function and executes the processing process.
【技术实现步骤摘要】
一种处理MapReduce数据倾斜的负载均衡方法
本专利技术涉及在线集群调度
,尤其涉及一种处理Hadoop集群任务数据倾斜的负载均衡方法和装置。
技术介绍
Hadoop是一个以可靠、高效、可伸缩的方式对大量数据进行分布式处理的软件框架。Hadoop集群(cluster)主要的任务部署分为客户端(Client)机器、主节点(Masternodes)和从节点(Slavenodes)3个部分,如图1所示。数据存储(Hadoop分布式文件系统,HadoopDistributedFileSystem,HDFS)和对运行在这个数据之上的并行计算(MapReduce)的监督是Hadoop的两个关键功能模块,这两个关键功能模块主要由主节点负责。HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个名字节点(NameNode)和若干个数据节点(DataNode)组成的。MapReduce框架是由一个单独运行在主节点上的作业追踪器(JobTracker)和运行在每个集群从节点上的任务追踪器(TaskTracker)共同组成。HDFS和MR共同组成Hadoop分布式系统体系结构的核心。Hadoop是一个实现了MapReduce模式的开源的分布式并行编程框架,它以其通用、方便实用等特征在云计算和大数据处理时代得到了广泛应用。MapReduce是一种用于大规模数据集(大于1TB)的并行运算的编程模型。MapReduce工作过程包括两个阶段:Map阶段和Reduce阶段。Map阶段包含多个Map任务,Reduc阶段包含多个Reduce任务。在正式执行M ...
【技术保护点】
一种处理MapReduce数据倾斜的负载均衡方法,其特征在于,所述方法包括步骤:对输入数据进行抽样分析,确定平均每个Reduce节点上任务数量;根据任务的个数和时间系数,按照基于时间系数的任务数量从大到小降序排序,数量相同则按照序号排序;按照资源剩余容量最大的原则以及所排任务顺序依次分配任务,直到所有任务分配完毕;将分配方式提交给自定义的Partition函数,执行任务处理过程。
【技术特征摘要】
1.一种处理MapReduce数据倾斜的负载均衡方法,其特征在于,所述方法包括步骤:对输入数据进行抽样分析,确定平均每个Reduce节点上任务数量;根据任务的个数和时间系数,按照基于时间系数的任务数量从大到小降序排序,数量相同则按照序号排序;按照资源剩余容量最大的原则以及所排任务顺序依次分配任务,直到所有任务分配完毕;将分配方式提交给自定义的Partition函数,执行任务处理过程。2.根据权利要求1所述的方法,其特征在于,所述的抽样方法为:对输入的文件,各个节点根据自己拥有的文件块进行计算,使用API计算文件的行数;运行Map程序统计各个节点上样本key值的频率,并记录该节点key的总个数,总个数可以通过获得文件行数乘以每行key值获取;运行Reduce程序汇总所有key的频率,并统计出各个key最终频率,同时汇总所有key的总个数,根据抽样频率和总个数,估算出每个key的具体数量。3.根据权利要求1所述的方法,其特征在于,所述各个key处理的时间有显著不同时,每个不同key,设定一个时间系数t,对任意一个keyki,ti的大小定义为该key执行时间和执行最慢的key的执行时间的比值;对每个不同key进行一次执行,将该key的执行时间进行记录,增加时间系数后,可以通过在分配时候把时间系数考虑进去,解决key值处理时间不同的情形。4.根据权利要求1所述的方法,其特征在于,根据key的个数和时间系数,按照基于时间系数的key数量从大到小降序排序,数量相同则按照序号排序。5.根据权利要求1所述的方法,其特征在于,取出key选择Reduce剩余数量最大的分配;若该Reduce剩余容量足够分配,则直接分配给Reduce,分配后修改Reduce剩余容量数目;若该Reduce剩余容量不够,则分配Reduce剩余容量大小并将已经分配的ki标记为ki_1,取出Reduce剩...
【专利技术属性】
技术研发人员:田文洪,李国忠,
申请(专利权)人:田文洪,李国忠,杨吴同,黄超杰,刘弘一,徐敏贤,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。