Spark:Yarn-cluster和Yarn-client区别与联系

转载 2015年07月10日 08:02:00

我们都知道Spark支持在yarn上运行,但是Spark on yarn有分为两种模式yarn-cluster和yarn-client,它们究竟有什么区别与联系?阅读完本文,你将了解。
  Spark支持可插拔的集群管理模式(Standalone、Mesos以及YARN ),集群管理负责启动executor进程,编写Spark application 的人根本不需要知道Spark用的是什么集群管理。Spark支持的三种集群模式,这三种集群模式都由两个组件组成:master和slave。Master服务(YARN ResourceManager,Mesos master和Spark standalone master)决定哪些application可以运行,什么时候运行以及哪里去运行。而slave服务( YARN NodeManager, Mesos slave和Spark standalone slave)实际上运行executor进程。

  当在YARN上运行Spark作业,每个Spark executor作为一个YARN容器(container)运行。Spark可以使得多个Tasks在同一个容器(container)里面运行。这是个很大的优点。

  注意这里和Hadoop的MapReduce作业不一样,MapReduce作业为每个Task开启不同的JVM来运行。虽然说MapReduce可以通过参数来配置。详见mapreduce.job.jvm.numtasks。关于这个参数的介绍已经超过本篇文章的介绍。

  从广义上讲,yarn-cluster适用于生产环境;而yarn-client适用于交互和调试,也就是希望快速地看到application的输出。

  在我们介绍yarn-cluster和yarn-client的深层次的区别之前,我们先明白一个概念:Application Master。在YARN中,每个Application实例都有一个Application Master进程,它是Application启动的第一个容器。它负责和ResourceManager打交道,并请求资源。获取资源之后告诉NodeManager为其启动container。

  从深层次的含义讲,yarn-cluster和yarn-client模式的区别其实就是Application Master进程的区别,yarn-cluster模式下,driver运行在AM(Application Master)中,它负责向YARN申请资源,并监督作业的运行状况。当用户提交了作业之后,就可以关掉Client,作业会继续在YARN上运行。然而yarn-cluster模式不适合运行交互类型的作业。而yarn-client模式下,Application Master仅仅向YARN请求executor,client会和请求的container通信来调度他们工作,也就是说Client不能离开。看下下面的两幅图应该会明白(上图是yarn-cluster模式,下图是yarn-client模式):


如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop

  从源码实现,调度器等方面看,请参照本博客的《Spark on YARN集群模式作业运行全过程分析》《Spark on YARN客户端模式作业运行全过程分析》的介绍。

本博客文章除特别声明,全部都是原创!
尊重原创,转载请注明: 转载自过往记忆(http://www.iteblog.com/)
本文链接地址: 《Spark:Yarn-cluster和Yarn-client区别与联系》(http://www.iteblog.com/archives/1223)

Spark下Yarn-Cluster和Yarn-Client的区别

0 首先注意的概念ResourceManager:是集群所有应用程序的资源管理器,能够管理集群的计算资源并为每个Application分配,它是一个纯粹的调度器。 NodeManager:是每一台s...
  • BlockheadLS
  • BlockheadLS
  • 2016年11月25日 01:51
  • 2693

yarn-cluster 和yarn-client区别

spark支持可查吧的集群管理模式(standalone/mesos以及yarn);集群管理负责启动executor进程,编写spark application的人根本不需要知道spark用的是什么集...
  • qiezikuaichuan
  • qiezikuaichuan
  • 2016年11月07日 17:01
  • 755

Spark的资源管理以及YARN-Cluster Vs YARN-Client

原文:http://blog.cloudera.com/blog/2014/05/apache-spark-resource-management-and-yarn-app-models/ ...
  • u011007180
  • u011007180
  • 2016年09月03日 14:55
  • 2158

Spark-submit模式yarn-cluster和yarn-client的区别

1.yarn-client用于测试,因为ta的Driver运行在本地客户端,会与yarn集群产生较大的网络通信,从而导致网卡流量激增;它的好处在于直接执行时,在本地可以查看到所有的log,方便调试; ...
  • kongshuchen
  • kongshuchen
  • 2016年07月24日 15:48
  • 3124

Spark运行模式(local standalond,yarn-client,yarn-cluster,mesos-client,mesos-cluster)

spark部署在单台机器上面时,可以使用本地模式(Local)运行;当部署在分布式集群上面的时候,可以根据自己的情况选择Standalone模式(Spark自带的模式)、YARN-Client模式或者...
  • liangyihuai
  • liangyihuai
  • 2017年02月23日 17:33
  • 1584

spark在yarn上面的运行模型:yarn-cluster和yarn-client两种运行模式:

 Spark在YARN中有yarn-cluster和yarn-client两种运行模式: I. Yarn Cluster Spark Driver首先作为一个ApplicationMaste...
  • wang1127248268
  • wang1127248268
  • 2016年11月08日 22:40
  • 1119

Spark on yarn有分为两种模式yarn-cluster和yarn-client

Spark支持可插拔的集群管理模式(Standalone、Mesos以及YARN ),集群管理负责启动executor进程,编写Spark application 的人根本不需要知道Spark用的是什...
  • LW_GHY
  • LW_GHY
  • 2016年03月11日 22:39
  • 2788

spark yarn-client和yarn-cluster

大数据系列零基础由入门到实战视频 问题导读 1.Spark在YARN中有几种模式? 2.Yarn Cluster模式,Driver程序在YARN中运行...
  • lantian0802
  • lantian0802
  • 2016年01月25日 09:56
  • 2096

Spark Yarn-cluster与Yarn-client

http://blog.csdn.net/BlockheadLS/article/details/53329323 0 首先注意的概念 ResourceManager:是集群所有应用程...
  • leehbing
  • leehbing
  • 2017年05月19日 19:41
  • 187

Spark Yarn-cluster 与 Yarn-client

摘要   在Spark中,有Yarn-Client和Yarn-Cluster两种模式可以运行在Yarn上,通常Yarn-cluster适用于生产环境,而Yarn-Cluster更适用于交互,调试...
  • wwwxxdddx
  • wwwxxdddx
  • 2017年01月04日 16:49
  • 309
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark:Yarn-cluster和Yarn-client区别与联系
举报原因:
原因补充:

(最多只允许输入30个字)