Spark比MR快的原因

1、Spark基于内存的计算

2、粗粒度资源调度

3、DAG有向无环图:可以根据宽窄依赖划分出可以并行计算的task

细粒度资源调度

MR是属于细粒度资源调度

优点:每个task运行的时候单独申请资源,资源被充分利用

缺点:task启动速度慢

粗粒度资源调度

Spark是属于粗粒度资源调度

优点:一次性将所有需要的资源都申请下来,task后续启动就不需要额外申请资源,启动速度非常快

缺点:会造成资源的浪费,因为只有当最后一个task运行完以后资源才会被释放

资源申请

1、使用spark-sumbit提交任务

2、在提交任务的节点启动Driver程序:Drive主要负责任务调度

3、Driver程序会向RM申请资源启动AM

4、RM会随机分配一台NM启动AM

5、AM又会向RM申请资源启动一批Executor

6、RM会分配资源在NM中启动Executor

7、Executor启动后会反向注册给Drive端

资源调度

1、当遇到一个action算子的时候,开始触发一个job进行任务调度

2、根据代码,构建DAG有向无环图

3、DAGScheduler会根据宽窄依赖切分Stage:Stage:是一组可以并行计算的Task

4、会将每个Stage以TaskSet的形式发送个TaskScheduler

5、TaskScheduler会将Task依次发送到Executor中执行

Task的重试机制

1、Task如果失败了,会由TaskScheduler重试3次

2、如果还是失败了,会由DAGScheduler将Stage重试4次

3、如果出现Shuffle file not found,DAGScheduler会去将上游的Stage进行重试

推测执行

当某个task执行太慢的时候,TaskSchedule会发送一个一模一样的task去执行,最终结果谁先执行完就以谁为准

Spark中资源调度和任务调度的更多相关文章

  1. Spark Core_资源调度与任务调度详述

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/0593214ae0a5395d1411395169eaabfa.html Spark Core_资源调度与任务 ...

  2. Spark Core 资源调度与任务调度(standalone client 流程描述)

    Spark Core 资源调度与任务调度(standalone client 流程描述) Spark集群启动:      集群启动后,Worker会向Master汇报资源情况(实际上将Worker的资 ...

  3. spark中资源调度任务调度

    在spark的资源调度中 1.集群启动worker向master汇报资源情况 2.Client向集群提交app,向master注册一个driver(需要多少core.memery),启动一个drive ...

  4. spark 图文详解:资源调度和任务调度

    讲说spark的资源调度和任务调度,基本的spark术语,这里不再多说,懂的人都懂了... 按照数字顺序阅读,逐渐深入理解:以下所有截图均为个人上传,不知道为什么总是显示别人的QQ,好尴尬,无所谓啦, ...

  5. 【Spark篇】---Spark资源调度和任务调度

    一.前述 Spark的资源调度是个很重要的模块,只要搞懂原理,才能具体明白Spark是怎么执行的,所以尤其重要. 自愿申请的话,本文分粗粒度和细粒度模式分别介绍. 二.具体 Spark资源调度流程图: ...

  6. Spark资源调度和任务调度

    一.资源调度&任务调度 1.启动集群后,Worker节点会周期性的[心跳]向Master节点汇报资源情况,Master掌握集群资源情况. 2.当Spark提交一个Application后,根据 ...

  7. 【Spark-core学习之六】 Spark资源调度和任务调度

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  8. Spark 资源调度 与 任务调度

    Spark 资源调度与任务调度的流程(Standalone): 启动集群后, Worker 节点会向 Master 节点汇报资源情况, Master掌握了集群资源状况. 当 Spark 提交一个 Ap ...

  9. Spark中的编程模型

    1. Spark中的基本概念 Application:基于Spark的用户程序,包含了一个driver program和集群中多个executor. Driver Program:运行Applicat ...

随机推荐

  1. 没想到 TCP 协议,还有这样的骚操作。。。

    大家好,我是小林. 昨晚有位读者问了我这么个问题: 大概意思是,一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 establish 状态,客户端恢复后,向服务端 ...

  2. Douban Top 250爬虫

    # Ref: https://fishc.com.cn/forum.php?mod=viewthread&tid=101887&extra=page%3D1%26filter%3Dty ...

  3. CRM是什么,你有认真了解过CRM吗?

    这是CRM的一个简单定义 客户关系管理 (CRM)是一种用于管理公司与客户和潜在客户的所有关系和互动的技术.目标很简单:改善业务关系.CRM 系统可帮助公司与客户保持联系.简化流程并提高盈利能力. 当 ...

  4. == 和 equals区别

    == equals是两种字符串的方式 区别 == 是比较两个对象的引用地址值 equals是比较两个对象的具体内容 示例 package com.oop.demo06; public class De ...

  5. C#开发BIMFACE系列42 服务端API之图纸对比

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在我的前一篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>中详细介绍了BIMFACE服务端接口 ...

  6. tomcat启动程序报错

    1.问题 23-Apr-2021 10:53:38.897 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.de ...

  7. C#开发BIMFACE系列44 服务端API之计算图纸对比差异项来源自哪个图框

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前两篇博客<C#开发BIMFACE系列42 服务端API之图纸对比>.<C#开发BIMFACE系列43 ...

  8. mysql中一半会选择什么样的字段为索引?(含索引创建删除查看公式)

    一.数据量庞大的数据做索引 二.该字段经常出现在where的后面,以条件形式存在,经常被用户搜索的字段 三.很少被增删改的字段,因为增删改后,索引会重新排序 索引的创建 create index 索引 ...

  9. 模拟赛T2 交换 解题报告

    模拟赛T2 交换 解题报告 题目大意: 给定一个序列和若干个区间,每次从区间中选择两个数修改使字典序最小. \(n,m\) 同阶 \(10^6\) 2.1 算法 1 按照题意模拟,枚举交换位置并比较. ...

  10. Great books for learning C++

    Great books for learning C++ Here are three great books for learning C++ – whether you know C++ alre ...