简介

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运行模式的更多相关文章

  1. Flink 集群运行原理兼部署及Yarn运行模式深入剖析

    1 Flink的前世今生(生态很重要) 原文:https://blog.csdn.net/shenshouniu/article/details/84439459 很多人可能都是在 2015 年才听到 ...

  2. 大话Spark(2)-Spark on Yarn运行模式

    Spark On Yarn 有两种运行模式: Yarn - Cluster Yarn - Client 他们的主要区别是: Cluster: Spark的Driver在App Master主进程内运行 ...

  3. Spark on YARN运行模式(图文详解)

    不多说,直接上干货! 请移步 Spark on YARN简介与运行wordcount(master.slave1和slave2)(博主推荐) Spark on YARN模式的安装(spark-1.6. ...

  4. 【Hadoop】YARN 原理、MR本地&YARN运行模式

    1.基本概念 2.YARN.MR交互流程 3.源码解读

  5. 理解Spark运行模式(一)(Yarn Client)

    Spark运行模式有Local,STANDALONE,YARN,MESOS,KUBERNETES这5种,其中最为常见的是YARN运行模式,它又可分为Client模式和Cluster模式.这里以Spar ...

  6. Spark On Yarn搭建及各运行模式说明

    之前记录Yarn:Hadoop2.0之YARN组件,这次使用Docker搭建Spark On  Yarn 一.各运行模式 1.单机模式 该模式被称为Local[N]模式,是用单机的多个线程来模拟Spa ...

  7. Spark on YARN两种运行模式介绍

    本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark ...

  8. 3 weekend110的job提交的逻辑及YARN框架的技术机制 + MR程序的几种提交运行模式

    途径1: 途径2: 途径3: 成功! 由此,可以好好比较下,途径1和途径2 和途径3 的区别. 现在,来玩玩weekend110的joba提交的逻辑之源码跟踪 原来如此,weekend110的job提 ...

  9. Spark on YARN的两种运行模式

    Spark on YARN有两种运行模式,如下 1.yarn-cluster:适合于生产环境.        Spark的Driver运行在ApplicationMaster中,它负责向YARN Re ...

随机推荐

  1. 黄包车比赛 python学习

    将性别进行编码: https://github.com/Bifzivkar/Boutique-Travel-Services-Predict/blob/master/feature/2_feature ...

  2. “java.lang.NullPointerException”异常分析

    1.父类定义的某个属性,没有被子类使用,或者在子类中,又重新定义一次. 2.因为调用了一个object的方法,且此object的reference为null:比如说:String a=null; // ...

  3. HTML Strip Char Filter

    The html_strip character filter strips HTML elements from the text and replaces HTML entities with t ...

  4. mxonline实战9,我要学习功能块,机构详情展示,收藏功能

    对应github地址:第9天   一. 实现我要学习功能

  5. 解决Python向MySQL数据库插入中文数据时出现乱码

    解决Python向MySQL数据库插入中文数据时出现乱码 先在MySQL命令行中输入如下语句查看结果: 只要character_set_client character_set_database ch ...

  6. P3622 [APIO2007]动物园

    题目链接 题意分析 这是一道状压\(DP\)的题 一个人只可以欣赏到\(5\)只动物 显然可以状压 我们用\(dp[i][j]\)表示当前\([i,i+4]\)中这\(5\)只动物的状态\(j\) 在 ...

  7. ubuntu apt update时W: GPG error http://ppa.launchpad.net lucid Release没有公钥无法验证NO_PUBKEY签名问题解决

    在安装更新时,即在运行命令行sudo apt-get update 或者运行更新管理器的时候,出现W: GPG 错误: W: GPG error: http://ppa.launchpad.net/o ...

  8. [JZOJ6075]【GDOI2019模拟2019.3.20】桥【DP】【线段树】

    Description N,M<=100000,S,T<=1e9 Solution 首先可以感受一下,我们把街道看成一行,那么只有给出的2n个点的纵坐标是有用的,于是我们可以将坐标离散化至 ...

  9. 【CF1157F】Maximum Balanced Circle 求一个相邻元素之间绝对值为小于1的最大环

    题目: https://codeforces.com/contest/1157/problem/F 给出一个序列 , 我们要从序列里面挑出一些数构造成一个相邻元素之间绝对值为小于1的最大环 , 挑选的 ...

  10. ASP.NET MVC利用ActionLink实现动态组合查询

    一个文件传输数据表,内有日期.传输协议.传输方向(上传或下载).文件名等信息,完整的表内容显示如下: 现在需要分类查询,即按照协议和传输方向查询.单独的分类查询问题并不大,比如,按协议查询,在View ...