spark cluster和client

在Yarn-cluster模式下,driver运行在Appliaction Master上

https://blog.csdn.net/high2011/article/details/67637338

http://www.jobplus.com.cn/article/getArticleDetail/30566

https://blog.csdn.net/Regan_Hoo/article/details/78802228

主要记住driver(即提交的程序)

用户提交的应用程序代码在spark中运行起来就是一个driver,用户提交的程序运行起来就是一个driver,他是一个一段特殊的excutor进程,这个进程除了一般excutor都具有的运行环境外,这个进程里面运行着DAGscheduler Tasksheduler Schedulerbackedn等组件。

 

Appliaction Master

为了更好的理解这两种模式的区别先了解下Yarn的Application Master概念,在Yarn中,每个application都有一个Application Master进程,它是Appliaction启动的第一个容器,它负责从ResourceManager中申请资源,分配资源,同时通知NodeManager来为Application启动container,Application Master避免了需要一个活动的client来维持,启动Applicatin的client可以随时退出,而由Yarn管理的进程继续在集群中运行

 

yarn-client模式下,Driver运行在客户端上,先有driver再用AM,此时driver负责RDD生成、task生成和分发,向AM申请资源等 ,AM负责向RM申请资源,其他的都由driver来完成

 

ResourceManager

Yarn采用了Master/Slave结构,其中,Master实现为ResourceManager,负责整个集群资源的管理与调度;Slave实现为NodeManager,负责单个节点的资源管理与任务启动。ResourceManager是整个YARN集群中最重要的组件之一,它的设计直接决定了系统的可扩展性、可用性和容错性等特点,它的功能较多,包括ApplicationMaster管理(启动、停止等)、NodeManager管理、Application管理、状态机管理等。 
ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(N odeManager)的资源、汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationMaster )。

概括起来, ResourceManager 主要完成以下几个功能: 
❑ 与客户端交互,处理来自客户端的请求; 
❑ 启动和管理ApplicationMaster,并在它运行失败时重新启动它; 
❑ 管理NodeManager ,接收来自NodeManager 的资源汇报信息,并向NodeManager下达管理指令(比如杀死Container 等); 
❑资源管理与调度,接收来自ApplicationMaster 的资源申请请求,并为之分配资源。

 

ClusterManager

yarn standalone等四种

 

从上面可以看出cluster manager和resource manager的区别

你可能感兴趣的:(spark cluster和client)