Spark资源调度与任务调度

 当启动完spark-submit之后:

 进入资源调度

①首先worker会向Master汇报资源

②Master掌握了集群资源

③创建SparkContext,Driver端启动,生成DAGScheduler和TaskScheduler

④TaskScheduler向Master申请资源

⑤Master收到请求之后,会找到满足资源的worker节点启动Executor

⑥Executor反向注册到Driver,Driver掌握一批计算资源

进入任务调度

⑦有几个action算子就会有几个job,我们已经有job了

⑧DAGScheduler拿到DAG,按照RDD的宽依赖将job切分成一个个的stage,将stage以TaskSet的方式提交给TaskScheduler

⑨TaskScheduler遍历TaskSet,拿到一个个Task,发送到worker节点的Executor中执行

⑩发送task到Executor中

最后:Driver端监控task,并回收结果

 

粗粒度资源申请:Spark

application在启动之前首先将所有的资源申请完毕,如果申请不到一直处于等待状态,一直到申请到为止。必须一次申请完毕之后才会执行任务,这样task在执行的时候就不用自己申请资源,加快了task效率,task快了,job就快了,job快了,application就快了。必须是最后一个task执行完毕之后,才会释放所有资源。

优点:执行速度快

缺点:容易造成资源不能充分利用

细粒度资源申请:MapReduce

application在启动之前不会将所有task资源申请完,task执行时自己申请资源释放资源,这样task执行相对较慢,但是集群资源可以充分利用。

优点:集群资源可以充分利用

缺点:application执行相对较慢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值