[发明专利]一种处理大数据平台Spark数据分配不均衡的方法在审
申请号: | 201710456187.X | 申请日: | 2017-06-16 |
公开(公告)号: | CN109144707A | 公开(公告)日: | 2019-01-04 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 田文洪;黄超杰;刘弘一;任小芹;何马均;叶宇飞 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 610000 四川省成都*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据分配 重新分配 不均衡 大数据 调度 可用数据块 负载均衡 集群资源 降序排列 倾斜问题 任务设置 有效减少 数据块 元数据 重复 更新 服务 | ||
本发明实施例公开了一种处理大数据平台Spark数据分配不均衡的方法,涉及集群资源调度、负载均衡领域。本发明针对Spark各Stage中任务出现的数据倾斜问题,提出了MRFair的解决方法,所述方法包括步骤:(1)将Spark各Stage上一些任务设置为活动任务;(2)根据活动任务的元数据估计任务的剩余运行时间;(3)根据任务的剩余运行时间降序排列活动任务,将剩余运行时间最大的任务的可用数据块重新分配给剩余运行时间最小的任务;(4)更新任务的剩余运行时间,重复步骤(3)直到无可用的数据块被调度或者重新分配后任务的剩余运行时间少于其他任务的最大剩余运行时间。本发明能有效减少Spark作业的总完工时间,提升Spark作业的服务质量。
技术领域
本发明涉及在线集群资源调度技术领域,尤其涉及一种处理大数据平台Spark数据分配不均衡的方法。
背景技术
Spark是一个以可靠、高效、可伸缩的方式对大量数据进行分布式处理的内存计算框架。Spark集群主要的构件部署分为Spark Client、SparkContext、ClusterManager、Worker和Executor等,如图1所示。Spark Client用于用户提交应用程序到Spark集群,而SparkContext用于负责与ClusterManager进行通信,进行资源的申请、任务的分配和监控等,负责作业执行的生命周期管理。ClusterManager提供了资源的分配与管理,在不同的运行模式下,担任的角色有所不同,在Local、Spark Standalone等运行模式下由Master提供,在YARN运行模式下由Resource Manager提供,在Mesos运行模式下由Mesos Manager进行负责。当SparkContext对运行的作业进行划分并分配资源后,会把任务发送到Worker节点上的Executor进行运行。
Spark的编程模型是弹性分布式数据集(Resilient Distributed Dataset,RDD),它是MapReduce模型的扩展,在并行计算阶段高效的进行数据共享。Spark应用程序主要是基于RDD的一系列操作构成的作业,这些操作算子主要分为转换操作和行动操作,转换操作是延迟执行的,只有出现行动操作才触发作业的提交。
在Spark作业调度中最重要的是DAGScheduler和TaskScheduler两个调度器,其中,DAGScheduler负责任务的逻辑调度,是面向调度阶段的高层次调度器,将作业拆分成不同阶段具有依赖关系的任务集TaskSet,而TaskScheduler负责具体任务的调度执行。Spark应用程序根据RDD之间的依赖关系构建有向无环图(Directed Acyclic Graph,DAG),DAGScheduler负责对DAG进行解析,将DAG拆分成相互依赖的调度阶段。每个调度阶段包含一个或多个任务,这些任务组成任务集TaskSet,由DAGScheduler提交给底层调度器TaskScheduler进行调度执行。DAGScheduler监控运行调度阶段过程,如果某个调度阶段运行失败,则需要重新提交该调度阶段。
TaskScheduler接收来自DAGScheduler发送过来的任务集,TaskScheduler收到任务集后负责把任务逐一分发到Spark集群Worker节点的Executor去运行。如果某个任务运行失败,TaskScheduler负责重试。如果TaskScheduler发现某个任务一直未运行完,就可能启动同样的任务运行同一个任务,哪个任务先运行完就采用哪个任务的结果。Worker节点中的Executor收到TaskScheduler发送过来的任务后,以多线程的方式运行,每一个线程负责一个任务,任务运行结束后将结果返回给TaskScheduler。
发明内容
本发明要解决的技术问题是:提供一种处理大数据平台Spark数据分配不均衡的方法,能够减轻任务的数据倾斜程度,加快任务执行速度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于田文洪;黄超杰;刘弘一;任小芹;何马均;叶宇飞,未经田文洪;黄超杰;刘弘一;任小芹;何马均;叶宇飞许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710456187.X/2.html,转载请声明来源钻瓜专利网。