摘要

在Spark中,有Yarn-Client和Yarn-Cluster两种模式可以运行在Yarn上,通常Yarn-Cluster适用于生产环境,而Yarn-Clientr更适用于交互,调试模式,以下是它们的区别
Spark插拨式资源管理
Spark支持Yarn,Mesos,Standalone三种集群部署模式,它们的共同点:Master服务(Yarn ResourceManager,Mesos master,Spark standalone)来决定哪些应用可以运行以及在哪什么时候运行,Slave服务(Yarn NodeManger)运行在每个节点上,节点上实际运行着Executor进程,此外还监控着它们的运行状态以及资源的消耗
Spark On Yarn的优势
1. Spark支持资源动态共享,运行于Yarn的框架都共享一个集中配置好的资源池
2. 可以很方便的利用Yarn的资源调度特性来做分类·,隔离以及优先级控制负载,拥有更灵活的调度策略
3.Yarn可以自由地选择executor数量
4.Yarn是唯一支持Spark安全的集群管理器,使用Yarn,Spark可以运行于Kerberized Hadoop之上,在它们进程之间进行安全认证 
Yarn-cluster VS Yarn-client
当在Spark On Yarn模式下,每个Spark Executor作为一个Yarn container在运行,同时支持多个任务在同一个container中运行,极大地节省了任务的启动时间
Appliaction Master
为了更好的理解这两种模式的区别先了解下Yarn的Application Master概念,在Yarn中,每个application都有一个Application Master进程,它是Appliaction启动的第一个容器,它负责从ResourceManager中申请资源,分配资源,同时通知NodeManager来为Application启动container,Application Master避免了需要一个活动的client来维持,启动Applicatin的client可以随时退出,而由Yarn管理的进程继续在集群中运行
 
Yarn-cluster
在Yarn-cluster模式下,driver运行在Appliaction Master上,Appliaction Master进程同时负责驱动Application和从Yarn中申请资源,该进程运行在Yarn container内,所以启动Application Master的client可以立即关闭而不必持续到Application的生命周期,下图是yarn-cluster模式
Yarn-cluster模式下作业执行流程:
1. 客户端生成作业信息提交给ResourceManager(RM)
2. RM在某一个NodeManager(由Yarn决定)启动container并将Application Master(AM)分配给该NodeManager(NM)
3. NM接收到RM的分配,启动Application Master并初始化作业,此时这个NM就称为Driver
4. Application向RM申请资源,分配资源同时通知其他NodeManager启动相应的Executor
5. Executor向NM上的Application Master注册汇报并完成相应的任务
Yarn-client
在Yarn-client中,Application Master仅仅从Yarn中申请资源给Executor,之后client会跟container通信进行作业的调度,下图是Yarn-client模式
Yarn-client模式下作业执行流程:
1. 客户端生成作业信息提交给ResourceManager(RM)
2. RM在本地NodeManager启动container并将Application Master(AM)分配给该NodeManager(NM)
3. NM接收到RM的分配,启动Application Master并初始化作业,此时这个NM就称为Driver
4. Application向RM申请资源,分配资源同时通知其他NodeManager启动相应的Executor
5. Executor向本地启动的Application Master注册汇报并完成相应的任务

下表是Spark Standalone与Spark On Yarn模式下的比较

参考资料:Apache Spark Resource Management and YARN App Models

转载于:https://www.cnblogs.com/MOBIN/p/5857314.html

Spark Yarn-cluster与Yarn-client相关推荐

  1. Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)

    无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...

  2. Spark on YARN cluster client 模式作业运行全过程分析

    一.Spark:Yarn-Cluster 与 Yarn-Client 的区别与联系 我们都知道Spark支持在yarn上运行,但是Spark on yarn有分为两种模式yarn-cluster和ya ...

  3. spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程

    最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式. spark运行模式 (1)local:在本地eclipse.IDEA中写spark代码运行程序,一般用于测试 ...

  4. Spark 运行模式 standalong yarn

    standalong 模式需要在spark master 节点上启动 spark/sbin/start-all.sh 主从节点都可以run standalong client ./bin/spark- ...

  5. spark基础之基于yarn两种提交模式分析

    一 介绍 基于YARN的提交模式,总共有2种:一种是基于YARN的yarn-cluster模式:一种是基于YARN的yarn-client模式. 需要将提交应用程序的spark-submit的脚本中加 ...

  6. Spark任务提交至YARN运行的3种方式与Mapreduce提交任务的几种形式

    一: Spark任务提交至YARN运行的3种方式 Spark作为新一代计算平台的闪亮明星,在我们的大数据平台中具有非常重要的作用,SQL查询.流计算和机器学习等场景都能见到它的身影,可以说平台应用的数 ...

  7. spark、oozie、yarn、hdfs、zookeeper、

    为什么80%的码农都做不了架构师?>>>    spark. oozie:任务调度 yarn:资源调度 hdfs:分布式文件系统 zookeeper. 转载于:https://my. ...

  8. 【spark】Cluster deploy mode is not applicable to Spark shells

    前言 使用CDH5.13 集成 apche spark2.4.2 使用spark-shell命令报错. spark配置 spark-defaults.conf文件如下: spark.master ya ...

  9. Hadoop 3.x(Yarn)----【Yarn 资源调度器】

    Hadoop 3.x(Yarn)----[Yarn 资源调度器] 1. Yarn 基础架构 2. Yarn 工作机制 3. 作业提交全过程 4. Yarn 调度器和调度算法 1. 先进先出调度器(FI ...

  10. npm安装的yarn遇到【yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次】

    我通过vs里的终端用npm下载yarn后使用yarn时遇到了报错 yarn : 无法将"yarn"项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包 ...

最新文章

  1. android edittext email,Android上EditText上的电子邮件地址验证
  2. 网络标准之:IANA定义的传输编码
  3. Ruby on Rails 通过代理远程安装
  4. favicon图标制作
  5. 谁说count(*) 性能最差,我需要跟你聊聊
  6. Razor语法(三)
  7. Oracle——distinct的用法
  8. 浮点数例外 (核心已转储)_年仅21岁出场过百重新定义边后卫,克洛普把阿诺德打造成进攻核心...
  9. 连发12款软硬件产品 瑞星领跑企业级安全市场
  10. 人脸识别门禁系统java实现_java实现人脸识别源码【含测试效果图】——前台显示层(index.jsp)...
  11. Matlab R2014b配置vlfeat0.9.20
  12. 手术麻醉管理系统方案/案列/小程序/网站
  13. metersphere性能测试测试资源池添加以及修改并发数
  14. coding AD:最短路径Floyd算法过程矩阵的计算:十字交叉法
  15. 嵌入式系统开发-麦子学院(5)——linux高级编程之文件IO管理
  16. 计算机图形学---常用颜色模型汇总(RGB,CMY,HSV)
  17. Android 对话框(Dialogs)
  18. Apple Catching经典dp
  19. 基于深度学习的显著性目标检测方法综述
  20. 中科院广州电子CASAIM与东风日产在3D打印生产制造发动机检具及治具应用研究项目顺利落地

热门文章

  1. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)...
  2. 【树莓派】Linux指令使用记录
  3. hadoop异常 java.io.IOException: Job status not available
  4. Oracle忘记密码如何重置
  5. 如何利用 Visual Studio 自带工具提高开发效率
  6. SCDPM 2012R2之保护SQL SERVER
  7. 项目支持规划标准文档编写要点
  8. mdk系列 Adsl 成功上网指南(非USB ADSL)
  9. 图解算法之排序算法(3)——插入排序
  10. linqto 多个关键字模糊查询_MySQL查询与约束