Spark 任务调度 资源调度

在这里插入图片描述

资源调度
分为两种
一种是 client 用于测试
当代码中出现 New SparkConf
在本地启动一个 Driver 和executor 并向 ResourceManager 申请 一个启动 ApplicationManager 的节点 ,ResourceManager 接到申请后启动 ApplicationManager ,ApplicationManager 启动后 向ResourceManager申请资源,
ResourceManager 会随机向 NodeManager 启动Container(容器),进而启动AM 这里Am会有 ExecutorLauncher 的功能,
主要的功能就是资源的申请,这个时候开始申请资源,比如executor 的核数,进程内存等等,ApplicationManager 连接其他de
nodeManager 去启动Container 中的Executor 启动后对应节点的 NodeManager 会向ApplicationManager 端Driver 发送反馈
另一种是 cluster
和Client 的方式差不多 基本一样 不过 Driver 与ApplicationManager 不在主节点 启动 功能合并 剩下的资源调度基本是一样的

任务调度
首先构建DAG 有向无环图,DAGScheduler根据宽窄依赖切分Stage,DAGscheduler 以TeskSet的形式发送给TaskScherduler,
taskscherduer将task 发送到 对应的 executor中执行 (尽量发送到数据所在的节点 跟巨RDD的第五大特性) Task 失败后,会继续
重试三次以上操作,如果是因为没有找到shuffle文件的话 TaskScheduler就不会继续操作Task 而是由 DAGScheduler去重新执行
stafge 。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值