六、yarn运行模式
简介
spark的yarn运行模式根据Driver在集群中的位置分成两种:
1)yarn-client 客户端模式
2)yarn-cluster 集群模式
yarn模式和standalone模式不同,standalone模式需要启动spark独立集群,这样SparkContext才能与Master进行交互通信。而yarn模式的资源管理全部托管给的ResourceManager了,所以它不需要启动spark独立集群,那么也就意味着你无法访问http://master:8080这个页面了。
yarn集群模式
spark的yarn集群模式,Driver运行在Application Master上,Application Master进程同时负责驱动我们的代码程序和从ResourceManager申请资源。由于它直接运行在yarn的Container当中,所以并不需要客户端,客户端可以在提交完毕之后就关闭,如图:

1)客户端将生成作业信息并提交给ResourceManager
2)ResourceManager会选择一个NodeManager去启动container,并且把ApplicationMaster分配给它去运行
3)NodeManager接收到以后就会启动ApplicationMaster并初始化dag作业,此时NodeManager就成为Driver
4)ApplicationMaster向ResourceManager申请资源
5)ResourceManager分配资源的同时通知其它NodeManager启动相应的executor去执行task,并反馈执行情况
6)执行完毕,释放资源
yarn客户端模式
yarn客户端模式和yarn集群模式的区别很明显,就是在于ApplicationMaster仅仅负责从ResourceManager申请资源,而驱动代码程序的任务还是由Client客户端负责,所以Client客户端在整个过程中保持运行不会像集群模式一样提交完就关闭,如图:

1)客户端生成作业信息并提交给ResourceManager
2)ResourceManager在本地NodeManager启动container并分配运行ApplicationMaster
3)Client节点会初始化dag作业,通过ApplicationMaster去向ResourceManager申请资源
4)Client节点将任务分发给executor去执行,executor反馈执行情况
5)任务执行完毕,释放资源
yarn-client和yarn-cluster的区别
1)在yarn-cluster模式中,Driver运行在ApplicationMaster上,而在yarn-client模式中Driver运行在Client上
2)yarn-cluster模式中,Client提交完可以直接关闭,yarn-client模式中保持运行并和executor通信
3)yarn-cluster模式中,ApplicationMaster负责资源申请和驱动程序运行,yarn-client模式中只负责资源申请,运行程序由Client负责
4)yarn-cluster适合生产环境,而yarn-client适合交互和调试
参考书籍:《spark大数据技术与应用》
六、yarn运行模式的更多相关文章
- Flink 集群运行原理兼部署及Yarn运行模式深入剖析
1 Flink的前世今生(生态很重要) 原文:https://blog.csdn.net/shenshouniu/article/details/84439459 很多人可能都是在 2015 年才听到 ...
- 大话Spark(2)-Spark on Yarn运行模式
Spark On Yarn 有两种运行模式: Yarn - Cluster Yarn - Client 他们的主要区别是: Cluster: Spark的Driver在App Master主进程内运行 ...
- Spark on YARN运行模式(图文详解)
不多说,直接上干货! 请移步 Spark on YARN简介与运行wordcount(master.slave1和slave2)(博主推荐) Spark on YARN模式的安装(spark-1.6. ...
- 【Hadoop】YARN 原理、MR本地&YARN运行模式
1.基本概念 2.YARN.MR交互流程 3.源码解读
- 理解Spark运行模式(一)(Yarn Client)
Spark运行模式有Local,STANDALONE,YARN,MESOS,KUBERNETES这5种,其中最为常见的是YARN运行模式,它又可分为Client模式和Cluster模式.这里以Spar ...
- Spark On Yarn搭建及各运行模式说明
之前记录Yarn:Hadoop2.0之YARN组件,这次使用Docker搭建Spark On Yarn 一.各运行模式 1.单机模式 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spa ...
- Spark on YARN两种运行模式介绍
本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发) 问题导读 1.Spark ...
- 3 weekend110的job提交的逻辑及YARN框架的技术机制 + MR程序的几种提交运行模式
途径1: 途径2: 途径3: 成功! 由此,可以好好比较下,途径1和途径2 和途径3 的区别. 现在,来玩玩weekend110的joba提交的逻辑之源码跟踪 原来如此,weekend110的job提 ...
- Spark on YARN的两种运行模式
Spark on YARN有两种运行模式,如下 1.yarn-cluster:适合于生产环境. Spark的Driver运行在ApplicationMaster中,它负责向YARN Re ...
随机推荐
- MVC框架入门准备(二) - 语言包类与工厂模式
语言包类: 相关配置项 LANG_FOLDER : 语言包目录名,默认为Lang LANG_AUTO : 自动识别语言,默认为true DEFAULT_LANG : 默认语言,默认为zh-cn方法 取 ...
- linux进程管理(二)
接上[linux进程管理(一)] 终止进程的工具 kill .killall.pkill 终止一个进程或终止一个正在运行的程序,一般是通过 kill .killall.pkill.xkill 等进行. ...
- K - 欧拉回路(并查集)
点击打开链接 K - 欧拉回路 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个图,问是否存在欧拉回路? Input 测试输入包含若干测试用例.每个测试用例的第 ...
- Bootstrap框架常用总结
Bootstrap框架常用标签: 标题标签:<h1>-<h6> bootstrap中也设置的相同的样式 - 若要使用 必须使用空标签来定义 比如<s ...
- SQL Server IF Exists 判断数据库对象是否存在的用法
1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] ...
- 【文文殿下】浅谈KMP算法next数组与循环节的关系
KMP算法 KMP算法是一种字符串匹配算法,他可以在O(n+m)的时间内求出一个模式串在另一个模式串下出现的次数. KMP算法是利用next数组进行自匹配,然后来进行匹配的. Next数组 Next数 ...
- Docker的安装与启动教程
一.安装Docker Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu发布的,而且一般Docker出现的问题Ubuntu是最先更新或者打补丁的.在很多版本的CentOS中是 ...
- 总结day3 ---- 进制转换,字符串切片,字符串常用方法.,for 循环,
前情提要: int 的相关操作 进制转换 bit_lenth() str 的索引,以及常用的相关方法 for 循环 索引 切片 相关方法 一 : int 的相关操作 int 主要用于生活中的计算问题 ...
- java中的jdk配置详解:
1.配值系统变量"JAVA_HOME" 变量名JAVA_HOME: 指向:JDK(java开发工具包)的安装路径 目的:使用JDK安装目录时,可以直接通过”%JAVA_HOME%“ ...
- (转)InnoDB存储引擎MVCC实现原理
InnoDB存储引擎MVCC实现原理 原文:https://liuzhengyang.github.io/2017/04/18/innodb-mvcc/ 简单背景介绍 MySQL MySQL是现在最流 ...