一、Spark On YARN架构
Spark On YARN模式遵循YARN的官方规范,YARN只负责资源的管理和调度,运行哪种应用程序由用户自己实现,因此可能在YARN上同时运行MapReduce程序和Spark程序,YARN很好地对每一个程序实现了资源的隔离。这使得Spark与MapReduce可以运行于同一个集群中,共享集群存储资源与计算资源。Spark On YARN模式与Standalone模式一样,也分为client和cluster两种提交方式。
使用Spark On YARN的client提交方式提交Spark应用程序的执行步骤
(1)客户端向YARN的ResourceManager提交Spark应用程序。客户端本地启动Driver。
(2)ResourceManager收到请求后,选择一个NodeManager节点向其分配一个Container,并在该Container中启动ApplicationMaster(指ExecutorLauncher进程),该ApplicationMaster中不包含Driver程序,只负责启动和监控Executor(指CoarseGrainedExecutorBackend进程),并与客户端的Driver进行通信。
(3)ApplicationMaster向ResourceManager申请Container。ResourceManager收到请求后,向ApplicationMaster分配Container。
(4)ApplicationMaster请求NodeMa

本文介绍了Spark On YARN的架构,强调了YARN如何管理资源并隔离应用程序。在YARN上,Spark与MapReduce可以共存。详细阐述了client提交方式下Spark应用程序的执行流程,包括客户端提交、ResourceManager分配资源、ApplicationMaster启动Executor等步骤。此外,还提及了Spark环境配置文件的修改,特别是设置Hadoop相关属性。最后,提到了启动HDFS和YARN以及运行Spark应用程序的命令。
最低0.47元/天 解锁文章
392

被折叠的 条评论
为什么被折叠?



