美文网首页
Spark资源调度与任务调度

Spark资源调度与任务调度

作者: 乔一波一 | 来源:发表于2019-03-16 15:12 被阅读0次
    Spark资源任务调度

    一.资源调度

    1. 集群起来后,Worker向Master汇报资源

    2. 客户端提交application,启动Driver,创建DAGschedulerDAG调度器和TaskScheduler任务调度器;

    3.TaskScheduler任务调度器向Master申请资源;

    4.Master找到满足资源的Worker节点启动Executor,

    5.Executer反向注册给Driver,此时Driver掌握了一批计算资源;

    二.任务调度

    6.Action算子触发任务的调度;

    7.DAGschedulerDAG调度器,将job中的RDD根据宽窄依赖,划分为stage,以taskSet发送给TaskScheduler;

    8.TaskScheduler遍历Taskset,将Task发送到Executor的Threadpool中执行;

    9.Driver监控task执行,回收结果;

    粗粒度资源申请:(Spark)

    application申请资源时,要把所需资源一下子申请过来,失败的话,等知道申请到所有所需资源时才会执行application,直到最后一个task执行完.释放所有的资源;

    优点:application执行过程中不需要反复申请资源,执行快;

    缺点:资源得不到充分利用;

    细粒度资源申请:(MapReduce)

    applicaton执行之前不会将所有的资源申请完毕,每个job独立申请资源,job中的task执行完毕后,立即释放资源;

    优点:资源充分利用;

    缺点:application执行慢;

    相关文章

      网友评论

          本文标题:Spark资源调度与任务调度

          本文链接:https://www.haomeiwen.com/subject/ssrxmqtx.html