文章目录
一、背景
yarn是hadoop体系中的资源调度管理机制,在上面可以运行多套计算框架比如MapReduce;同样也支持Spark。这不仅使得应用程序部署更加方便,也是用户的在yarn集群中运行的服务和Application的资源管理也完全隔离。更具有价值的是yarm通过队列的方式,同时管理集群中的多个服务。
二、yarn-client模式
1.yarn-client运行流程图
2.yarn-client的工作流程
- 启动应用程序,在SparkContext创建过程中、会初始化DAGScheduler、YarnScheduler、YarnClientSchedulerBackend等调度器。并且YarnClientSchedulerBackend会在内部启动DriverEndpoint和CLient。然后Client会向Yarn集群的ResourceManager申请启动ApplicationMaster。
- ResourceManager收到请求会在集群中选取一个NodeManager,为这个应用程序分配第一个Container,并在这个Container中启动ApplicationMaster;与yarn-cluster的区别是这个ApplicationMaster不运行SparkContext,只会与SparkContext联系进行资源分配。
- SparkContext启动完成后会与ApplicationMaster建立通信,Applicati