1/ Spark集群Master:Worker:
2/ Cluster manager:在集群上获取资源的外部服务Standalone:Spark原生的资源管理,由Master负责资源分配Hadoop Yarn:由Yarn中的ResourceManager负责资源分配
3/ Application:用户提交的应用程序Driver(SparkContext):与Cluster Manager通信,进行资源申请用户提交的应用程序的划分
4/ Driver向Master(standalone)申请资源
5/ Master负责安排Worker,Worker负责启动Executor(进程)运行Task
6/ 运行过程,Dirver和Executor通信
问题:1/ Yarn中的ResourceManager分配的是Spark中的Wroker还是Yarn中的NodeManager运行Task?
2/ 应用程序的划分?
3/ 不同的Application可以共享数据吗?每个Application获取专属的executor进程,该进程在Application期间一直驻留,并以多线程方式运行tasks。这种Application隔离机制有其优势的,无论是从调度角度看(每个Driver调度它自己的任务),还是从运行角度看(来自不同Application的Task运行在不同的JVM中)。当然,这也意味着Spark Application不能跨应用程序共享数据,除非将数据写入到外部存储系统
4/ Driver运行在哪里?要根据spark-submit的提交方式:a. Spark Standalone Mode:Client Mode: Driver的启动和提交应用程序的客户端在同一个进程Cluster Mode: Driver得启动是在集群中的一个Wrok进程,并且客户端进程在履行完应用程序的提交责任后立即退出,而不是等应用程序执行完b. Yarn
5/ Master怎么知道分配那些Wroker?Worker向Master发送心跳
转载于:https://www.cnblogs.com/skorzeny/p/7300597.html