Yarn-client与Yarn-cluster工作模式原理图

1、Yarn-client模式的工作流程
在这里插入图片描述
2、Yarn-cluster模式的工作流程

在这里插入图片描述
Spark框架的工作流程可以归纳为以下几步:
(1)在Spark中构建应用Application的运行环境,生成上下文SparkContext,SparkContext注册到资源管理器(例如Standalone、Yarn、Mesos等),申请Executor运行资源;
(2)资源管理器为Executor分配资源,启动StandaloneExecutorBackend,Executor会定时发送心跳信息到资源管理器,资源管理器监听和维护Executor;
(3)Spark构建DAG,DAG分解成为不同的Stage,这是Spark的计算模型,使用RDD来构建和编译。TaskSet发送任务给Task Scheduler。Executor会去SparkContext申请任务Task,任务调度Task Scheduler指派Task给Executor运行;
(4)在Executor中运行Task,结束以后释放资源。
相关工作流程如下图所示:

在这里插入图片描述
在Spark中,计算模型和工作任务模型都被表示为Stage,Stage的组成使用RDD(Resilient Distributed Datasets),形成DAG相关的计算模型,RDD的执行流程和工作原理如下:
(1)针对应用程序代码,Driver通过action算子形成边界,连接成为DAG;
(2)DAG Scheduler以shuffle算子为边,划分Stage,顺序是从DAG末端进行。Stage划分完成后,划分多个Task,DAG Scheduler将Task的集合TaskSet传给Task Scheduler,准备任务调用;
(3)Task Scheduler 根据分布式调度算法(可以自定义算法),将TaskSet中的Task分为WorkNode计算节点,计算节点中的Executor执行任务。
具体原理如下图所示:
在这里插入图片描述
在Spark中,执行计算的算子作为Task来进行的,Task Scheduler是Spark中重要的调度组件,Task Scheduler负责调度Task给Executor执行。它的调度模式主要是FIFO(先进先出)和FAIR(公平调度)。Spark适用于大型的任务并行计算,通过分布式的方式能极大地提高大规模和复杂问题的计算速度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山河念远之追寻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值