一、Yarn Client的工作流程图

  1. Spark Yarn Client向Yarn的ResourceManager申请启动ApplicationMaster。同时在SparkContext初始化将DAGSecheduler和TaskScheduler等组件,由于我们选择yarn-client模式,程序回选择YarnClientClustserSchelder和YarnClientSchedulerBackend。

  2. ResourceManager收到请求之后,在集群中选择某一个NodeManager作为该应用程序分配第一个Contaier,要求在这个Container启动一个ApplicationMaster。与Yarn-cluser模式区别是在ApplicationMaster中不运行SparkContext,只与SparkContext进行联系进行资源分配。

  3. Client中的SparkContext在初始化完毕之后,与ApplicationMaster只建立通讯。向ResurceManager注册,根据任务信息向ResourceManager申请资源。

  4. 一旦在ApplicationMaster中申请到了资源,便与对应NodeManager通信,要求它在活得的Container中启动CoarseGrainedExecutorBackend,这个组件在启动后向Client中的SparkContext注册并申请Task。

  5. client中的SparkContext分配Task给CoarseGrainedExecutorBackend执行并且向Driver汇报运行的状态和进度。

  6. 当整个应用程序完成之后,client的SparkContext向ResourceManager申请注销并关闭自己

二、Yarn Cluster工作流程图

小结:cluster和client模式的区别

首先你要清楚一个概念:ApplicationMaster。在Yarn总,每个Application实例(Flink Application、Spark Application、Mapreduce Application...)都有ApplicationMaster进程,它是Application启动的时候产生的第一个容器。它负责和ResaurceManager打交道并请求资源,获取资源之后告诉NodeManager为其启动Container。从深层次将yarn-cluser和yarn-client模式的区别其实就是ApplicationMaster进程的区别。

​ Yarn-cluster模式下,Driver运行在ApplicationMaster中,它负责向Yarn申请资源,并监督job运行状况。用户提交job之后,client就可以关掉了,但是job会继续在yarn上运行。

​ yarn-client模式,ApplicationMaster仅仅向yarn请求executor,client会和请求的container通信来调度他们的工作,所以说client会不会关掉?答案肯定是不能。

得出一个结论:

​ - driver会和executor进行通信,所以yarn-cluster在提交app之后可以关闭client,但是yarn-client不可以

​ - yarn-cluster适合生产环境中使用,yarn-client适合在测试的交互环境中使用

关于Spark的部署yarn模式相关推荐

  1. Spark 安装部署(Local+Standalone+Yarn等)

    概述 Spark作为一个数据处理框架和计算引擎,被设计在所有常见的集群环境中运行, 在国内工作中主流的环境为Yarn,不过逐渐容器式环境也慢慢流行起来.接下来,我们就分别看看不同环境下Spark的运行 ...

  2. Spark的Yarn模式及其案例

    目录 基本概念 Yarn模式搭建 1. 解压缩文件 2.修改配置文件 启动集群 测试Spark中examples案例 1. 提交应用 2.Web 页面查看日志 配置历史服务器 1.具体步骤 2.重新提 ...

  3. Spark on Yarn 模式编写workcount实例

    Spark on Yarn 模式编写workcount实例 一:上传输入文件到hadoop,本例上传的文件名为spark.txt 二:打包程序,打包名为:Spark-0.0.1-SNAPSHOT.ja ...

  4. Spark 独立部署模式

    2019独角兽企业重金招聘Python工程师标准>>> Spark 独立部署模式 博客分类: spark 除了在 Mesos 或 YARN 集群上运行之外, Spark 还提供一个简 ...

  5. flink yarn模式HA部署

    文章目录 1.yarn cluster 模式部署介绍 2.flink session HA模式 3.flink-per-job模式 该文章基于上一篇: Flink的local和standalone H ...

  6. Spark Standalone -- 独立集群模式、Spark 提交任务的两种模式、spark在yarn上运行的环境搭建、自己写的spark代码如何提交到yarn上并运行...

    目录 Spark Standalone -- 独立集群模式 Standalone 架构图 Standalone 的搭建 1.上传.解压.重命名 2.配置环境变量 3.修改配置文件 conf 4.同步到 ...

  7. Flink (四) Flink 的安装和部署- Flink on Yarn 模式 / 集群HA / 并行度和Slot

    接上一篇 Flink (三) Flink 的安装和部署- -Standalone模式 3. Flink  提交到 Yarn Flink on Yarn 模式的原理是依靠 YARN 来调度 Flink ...

  8. Spark内核(上)——附:两种Yarn模式源码解析

    文章目录 一.Spark内核概述 1.1 Spark核心组件回顾 1.1.1 Driver 1.1.2 Executor 1.2 Spark通用运行流程概述 二.Spark通信架构概述 2.1 Spa ...

  9. Spark环境搭建(Hadoop YARN模式)

    前言 按照前面环境部署中所学习的,如果我们想要一个稳定的生产Spark环境,那么最优的选择就是构建:HA StandAlone集 群. 不过在企业中, 服务器的资源总是紧张的,许多企业不管做什么业务, ...

最新文章

  1. Keepalived+lvs+httpd之负载均衡
  2. w7怎么查看电脑配置_学室内设计,对电脑配置有何要求?不懂戳这!
  3. 《TCP/IP详解》
  4. java对mysql排序_MySQL 排序
  5. 抖音用户规模达5.18亿,数据解读抖音支付背后逻辑?
  6. node包管理器npm常用命令
  7. html 响应式布局 九宫格,两种方法实现响应式九宫格布局
  8. extjs中grid中行内文本或图片居中显示
  9. 中国电信云计算重庆基地建成
  10. c++11 多线程编程(五)------unique_lock
  11. xshell简单使用
  12. 博科SAN交换机配置Trunk
  13. scipy.linalg中kron的用法
  14. Cannot format given Object as a Number
  15. SpringCloud基础
  16. GDAL添加ECW格式支持
  17. 你想象不到的工业智能协议网关还可以这样用
  18. Matlab神经网络语音增强,基于BP神经网络的语音增强研究
  19. 没有思考的生活是走向迷失自己的开始
  20. python自学,这几个网站就够了

热门文章

  1. linux7中man inittab,RHCE考试Troubleshooting
  2. C++-计算体质指数BMI值 信息学奥赛
  3. python数据处理工具-Pandas笔记
  4. 给移动硬盘装上LINUX全攻略,简单几步把Ubuntu装进移动硬盘引导使用
  5. 查询加日期oracle,Oracle查询优化日期运算实例详解
  6. java英文参考文献_java英文参考文献
  7. 全面、详细、通俗易懂的C语言语法和标准库
  8. opencv 通过标定摄像头测量物体大小_解决方案 | 如何用普通手机准确测量物体体积?...
  9. LTE中的RSRP、RSSI、RSRQ、SINR、MCS介绍
  10. Scrapy爬取豆瓣读书全站