Spark任务调度
不多说,直接上干货!
Spark任务调度

DAGScheduler
构建Stage—碰到shuffle就split
记录哪个RDD 或者Stage 输出被物化
重新提交shuffle 输出丢失的stage
将Taskset 传给底层调度器
本地性策略--- preferredLocations(p)
1.spark-cluster TaskScheduler
2.yarn-cluster YarnClusterScheduler
3.yarn-client YarnClientClusterScheduler
TaskScheduler
为每一个TaskSet 构建一个TaskSetManager 实例管理这个TaskSet 的生命周期
数据本地性决定每个Task 最佳位置(process-local, node-local, rack-local and then and any
提交taskset( 一组task) 到集群运行并监控
推测执行,碰到straggle 任务放到别的节点上重试
出现shuffle 输出lost 要报告fetch failed 错误
ScheduleBacked
实现与底层资源调度系统的交互(YARN,mesos等)
配合TaskScheduler实现具体任务执行所需的资源分配(核心接口receiveOffers)
详细过程

实例分析
val lines = ssc.textFile(args(1)) // 输入
val words = lines.flatMap(x =>x.split(" "))
words.cache() // 缓存
val wordCounts = words.map(x =>(x, 1) )
val red = wordCounts.reduceByKey( (a,b)=>{a + b} , 8)
red.saveAsTextFile(“/root/Desktop/out” , 8) // 行动


Spark任务调度的更多相关文章
- Spark任务调度流程及调度策略分析
Spark任务调度 TaskScheduler调度入口: (1) CoarseGrainedSchedulerBackend 在启动时会创建DriverEndPoint. 而DriverE ...
- 【Spark】Spark任务调度相关知识
文章目录 准备知识 DAG 概述 shuffle 概述 SortShuffleManager 普通机制 bypass机制 Spark任务调度 流程 准备知识 要弄清楚Spark的任务调度流程,就必须要 ...
- Spark任务调度初识
前置知识 spark任务模型 job:action的调用,触发了DAG的提交和整个job的执行. stage:stage是由是否shuffle来划分,如果发生shuffle,则分为2个stage. t ...
- 【Spark工作原理】Spark任务调度理解
Spark内部有若干术语(Executor.Job.Stage.Task.Driver.DAG等),需要理解并搞清其内部关系,因为这是性能调优的基石. 节点类型有: 1. Master 节点: 常 ...
- spark任务调度和资源分配
Spark调度模式 FIFO和FAIR Spark中的调度模式主要有两种:FIFO和FAIR. 默认情况下Spark的调度模式是FIFO(先进先出),谁先提交谁先执行,后面的任务需要等待 ...
- spark任务调度模式,动态资源分配
官网链接: http://spark.apache.org/docs/latest/job-scheduling.html 主要介绍: 1 application级调度方式 2 单个applicati ...
- spark中资源调度任务调度
在spark的资源调度中 1.集群启动worker向master汇报资源情况 2.Client向集群提交app,向master注册一个driver(需要多少core.memery),启动一个drive ...
- Spark 性能相关参数配置详解-任务调度篇
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...
- Spark 性能相关參数配置具体解释-任务调度篇
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 随着Spark的逐渐成熟完好, ...
随机推荐
- 在无任何报错的情况下 pagehelper.startpage分页无效问题
问题原因:自从spring boot开始使用2.0x版本以上后,很多相应的依赖文件版本开始变化 该版本为spring-boot 1.4.1 <dependency> <groupId ...
- 组装自己的tesla超级计算机
原文链接:blog.csdn.net/xqj198404/article/details/20016279 NVIDIA链接:http://www.nvidia.cn/object/tesla_bui ...
- TortoiseSvn问题研究(一)
问题描述 今天在工作中遇到一个SVN方面的问题,牵扯出使用SVN这一段时间的一系列问题. 具体来说,是这样的: 上周五有上线分支,自己的分支需要merge: 很多项目小组都在开发这个项目,再往前好像也 ...
- jQuery 父级,祖先,兄弟,等选择性操作
jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(&q ...
- MySQL安装部署
MySQL安装部署 使用自动化脚本
- 如何避免命令 rm -rf 的悲剧
一.root高管用户为例,其他用户类同. https://www.cnblogs.com/eos666/articles/10389179.html [root@jenkins /]# vim /ro ...
- day25-2 random,os,sys模块
目录 random 为什么要有random模块,random模块有什么用 os 为什么要有os模块,os模块有什么用 sys 为什么要有sys模块,sys模块有什么用 random import ra ...
- 关闭浏览器 清除session
捕获关闭浏览器的事件 关于关闭IE清空session的总结 Session过期会清楚session 还可以手动清除session实现关闭浏览器时清除session的方法
- OpenGL中着色器,渲染管线,光栅化
https://www.zhihu.com/question/29163054 光栅(shan一声)化(Rasterize/rasteriztion).这个词儿Adobe官方翻译成栅格化或者像素化 ...
- 3.1、Jinja2模板引擎
形式最简单的 Jinja2 模板就是一个包含响应文本的文件.示例 3-1 是一个 Jinja2 模板,它和示例 2-1 中 index() 视图函数的响应一样. 示例 3-1 templates/in ...