Spark内核详解 (1) | Spark内核的简要概述

  大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客主页:https://buwenbuhuo.blog.csdn.net/

  本片博文为大家带来的是Spark内核的简要概述。
Spark内核详解 (1) | Spark内核的简要概述

目录一. Spark 核心组件二. Spark 通用运行流程

Spark内核详解 (1) | Spark内核的简要概述
  Spark 内核泛指 Spark 的核心运行机制

  包括 Spark 核心组件的运行机制、Spark 任务调度机制、Spark 内存管理机制、Spark 核心功能的运行原理等

  熟练掌握 Spark 内核原理,能够帮助我们更好地完成 Spark 代码设计,并能够帮助我们准确锁定项目运行过程中出现的问题的症结所在。

一. Spark 核心组件

  • 1. Cluster Manager(Master, ResourceManager)

    Spark 的集群管理器, 主要负责对整个集群资源的分配与管理.

    Cluster Manager 在 Yarn 部署模式下为 ResourceManager; 在 Mesos 部署模式下为 Mesos Master; 在 Standalone 部署模式下为 Master.

    Cluster Manager 分配的资源属于一级分配, 它将各个 Worker 上的内存, CPU 等资源分配给 Application, 但并不负责对 Executor 的资源的分配.

  • 2. Worker(Worker, NodeManager)

    Spark 的工作节点.

    在 Yarn 部署模式下实际由 NodeManager 替代.

    主要负责以下工作

    将自己的内存, CPU 等资源通过注册机制告知 Cluster Manager

    创建 Executor进程

    将资源和任务进一步分配给 Executor

    同步资源信息, Executor 状态信息给 ClusterManager 等.

  • 3. Driver

    Spark 驱动器节点,用于执行 Spark 任务中的 main 方法,负责实际代码的执行工作。

    Driver 在 Spark 作业执行时主要负责:

      将用户程序转化为作业(Job);
      在 Executor 之间调度任务(Task);
      跟踪 Executor 的执行情况;
      通过 UI 展示查询运行情况;
  • 4. Executor

    Spark Executor 节点是负责在 Spark 作业中运行具体任务,任务彼此之间相互独立。

    Spark 应用启动时,Executor 节点被同时启动,并且始终伴随着整个 Spark 应用的生命周期而存在。

    如果有 Executor 节点发生了故障或崩溃,Spark 应用也可以继续执行,会将出错节点上的任务调度到其他 Executor 节点上继续运行。

    Executor 有两个核心功能:

      负责运行组成 Spark 应用的任务,并将结果返回给驱动器(Driver);
      它们通过自身的块管理器(Block Manager)为用户程序中要求缓存的 RDD 提供内存式存储。RDD 的数据是直接缓存在 Executor 进程内的,因此任务可以在运行时充分利用缓存数据加速运算。
  • 5. Application

    用户使用 Spark 提供的 API 编写的应用程序.

    Application 通过 Spark API 将进行 RDD 的转换和 DAG 的构建, 并通过 DriverApplication 注册到 Cluster Manager.
    Cluster Manager 将会根据 Application 的资源需求, 通过一级分配将 Executor, 内存, CPU 等资源分配给 Application.
    Driver 通过二级分配将 Executor 等资源分配给每一个任务, Application 最后通过 Driver 告诉Executor 运行任务

    二. Spark 通用运行流程

    Spark内核详解 (1) | Spark内核的简要概述
    上图为 Spark 通用运行流程,不论 Spark 以何种模式进行部署,都是以如下核心步骤进行工作的:

      任务提交后,都会先启动 Driver 程序;
      随后 Driver 向集群管理器注册应用程序;
      之后集群管理器根据此任务的配置文件分配 Executor 并启动该应用程序;
      当 Driver 所需的资源全部满足后,Driver 开始执行 main 函数,Spark 转换为懒执行,当执行到 Action 算子时开始反向推算,根据宽依赖进行 Stage 的划分,随后每一个 Stage 对应一个 Taskset,Taskset 中有多个Task;
      根据本地化原则,Task 会被分发到指定的 Executor 去执行,在任务执行的过程中,Executor 也会不断与 Driver 进行通信,报告任务运行情况。

      本次的分享就到这里了,

    Spark内核详解 (1) | Spark内核的简要概述

      好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
      如果我的博客对你有帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
      码字不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注我哦!

    Spark内核详解 (1) | Spark内核的简要概述
    Spark内核详解 (1) | Spark内核的简要概述

    原创:https://www.panoramacn.com
    源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

    专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

    Spark内核详解 (1) | Spark内核的简要概述

    免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

    您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
    www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
    未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Spark内核详解 (1) | Spark内核的简要概述
    关注我们小说电影免费看
    关注我们,获取更多的全网素材资源,有趣有料!
    120000+人已关注
    分享到:
    赞(0) 打赏
  • 评论抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    您的打赏就是我分享的动力!

    支付宝扫一扫打赏

    微信扫一扫打赏