spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程
最近总结了一些关于spark core的内容,今天先来和大家分享一下spark的运行模式。
spark运行模式
(1)local:在本地eclipse、IDEA中写spark代码运行程序,一般用于测试
(2)standalone:spark自带的资源调度框架,支持分布式集群搭建。Spark可以运行在standalone集群上
(3)Yarn:Hadoop生态圈中的资源调度框架,spark可以基于Yarn运行
(4)Mesos: 资源调度框架 (用的比较少)
下面,来给大家总结一下spark基于standalone和yarn集群上提交作业的流程:
有两种可选的运行方式:
(1)client 一般用于测试环境
(2)cluster 用于实际生产环境
Spark基于standalone集群提交任务的流程:
1.Client模式:
1)集群启动后,worker向Master汇报资源(资源指core和内存)
2)Master掌握了集群的资源
3)客户端提交spark任务,首先在客户端启动Driver
4)客户端向Master申请资源
5)Master找到满足资源的worker节点,在worker节点上启动Excutor进程,反向注册给Driver。
6)Driver向Worker发送Task,监控task的执行,回收结果。
流程图示:
注:(1)Driver在客户端启动
(2)每个SparkApplication有独立的Driver和Excutor
(3)Driver和集群中的worker会有大量的通信,如果有很多的apllication提交,而这种client运行方式中Driver均在客户端启动,就很容易造成客户端节点的网卡流量激增问题。所以这种方式适用于程序测试环境,不适用与生产环境。
(4)在客户端可以查看task执行过程和结果,方便调错。
2.Cluster模式:
spark基于standalone集群的cluster模式的提交任务流程:
1) 集群启动后worker向Master汇报资源
2) Master掌握集群资源
3) 客户端提交sparkApplication,客户端向Master申请启动Driver。
4) Master收到请求后随机找一台节点启动Driver。
5) Driver向Master申请资源用于启动Application
6) Master找到满足资源的worker节点,启动Excutor,反向注册给Driver
7) Driver发送task到worker节点,监控task,回收结果(collect方法)
流程图示:
注:(1)先启动Driver,再启动Application
(2)Driver在随机一台worker节点上启动,当有很多的SparkApplication提交时,这些Application作业的Driver都是分布在集群中不同worker节点上的,解决了client模式中单节点网卡流量激增的问题,适用于生产环境。
(3)在客户端看不到task的执行过程以及运行结果,要在WebUI中查看
Spark基于yarn集群提交任务的流程:
1.Client模式:
流程总结:
1) NodeManager向ResourceManager汇报资源
2) ResourceManager掌握集群资源
3) 客户端提交Application,在客户端启动Driver
4) 客户端向ResourceManager申请启动ApplicationMaster。
5) ResourceManager收到请求之后随机找一台NodeManager启动ApplicationMaster
6) ApplicationMaster启动之后向ResourceManager申请资源用于启动Excutor,
7) ResourceManager收到请求后返回一批满足要求的NodeManager节点给AM
8) ApplicationMaster连接NodeManager启动Excutor
9) Excutor反向注册给Driver
10)Driver发送task给NodeManager,监控task执行,并回收结果
流程图示:
2.Cluster模式:
Spark基于Yarn的Cluster提交作业流程总结:
1) 集群启动后,NodeManager向ResourceManager汇报资源
2) ResourceManager掌握了集群资源
3) 客户端提交SparkApplication
4) 客户端向ResourceManager申请启动ApplicationMaster
5) ResourceManager随机找一台NodeManager启动ApplicationMaster(Driver)
6) ApplicationMaster向ResourceManager申请资源用于启动Excutor
7) ResourceManager返回一批满足资源的NodeManager节点给ApplicationMaster
8) ApplicationMaster在这些NodeManager上启动Excutor
9) Excutor反向注册给Driver(ApplicationMaster)
10) ApplicationMaster发送task给NodeManager,监控task执行,回收结果
流程图示:
总结:
spark提交到yarn_详细总结spark基于standalone、yarn集群提交作业流程相关推荐
- 基于YARN集群构建运行PySpark Application
文章转载:https://www.tuicool.com/articles/eaYVN3v Spark Application可以直接运行在YARN集群上,这种运行模式,会将资源的管理与协调统一交给Y ...
- spark 序列化错误 集群提交时_spark 面试题(2)
33.选择题 二.选择题 1. Spark 的四大组件下面哪个不是 (D ) A.Spark Streaming B. Mlib C Graphx D.Spark R 2.下面哪个端口不是 ...
- 本地提交spark_Spark在Windows下运行,本地提交spark到远程yarn集群
[问题]Spark在windows能跑集群模式吗? 我认为是可以的,但是需要详细了解cmd命令行的写法.目前win下跑spark的单机模式是没有问题的. [关键点]spark启动机制容易被window ...
- 向spark standalone集群提交任务
向spark standalone集群提交任务 文档链接 #切换到spark安装目录,执行下面一条命令,192.168.0.10是master的ip, examples/src/main/python ...
- 向Spark集群提交任务
1.启动spark集群. 启动Hadoop集群 cd /usr/local/hadoop/ sbin/start-all.sh 启动Spark的Master节点和所有slaves节点 cd /usr/ ...
- 搭建Spark On YARN集群
文章目录 零.本讲学习目标 一.Spark On YARN架构 (一)client提交方式 (二)cluster提交方式 二.搭建Spark On YARN集群 (一)搭建Spark Standalo ...
- Spark on Yarn集群多Application并行执行
在工作中遇到向Spark集群提交多个任务,并且这些任务是需要同时执行的.但是遇到很多错误,所以把遇到的问题记录下来. 修改hadoop/etc/hadoop/yarn-site.xml文件 需要添加的 ...
- Spark基础学习笔记06:搭建Spark On YARN集群
文章目录 零.本讲学习目标 一.Spark On YARN架构 (一)client提交方式 (二)cluster提交方式 二.搭建Spark On YARN集群 (一)搭建Spark Standalo ...
- Spark基础学习笔记:搭建spark on yarn 集群
一.Spark On YARN架构 Spark On YARN模式遵循YARN的官方规范,YARN只负责资源的管理和调度,运行哪种应用程序由用户自己实现,因此可能在YARN上同时运行MapReduce ...
最新文章
- Spring基础专题——第八章(事务)
- 《Excel最强功能-数据透视表》 网课笔记
- SAP Spartacus的defaultUrlMatcher
- C# 特性(Attribute)
- PHP autoload实践
- 程序员的七夕:转给此刻你想起的那位!
- Python爬虫进阶必备 | X中网密码加密算法分析
- php生成静态翻页,PHP高手,我刚刚学PHP,在生成静态分页遇到了点有关问题,就是翻页的有关问题,希望可以給出一个漂亮完整的翻页代码,多谢...
- 当你的服务器被黑了,一定要看是不是犯了这 5 点错误
- IOS:APP三种状态下收到推送后的跳转操作
- HTML5期末大作业:个人网站设计——简单响应式个人博客HTML模板(8页面) HTML+CSS+JavaScript...
- centos7进程限制、打开文件限制等
- 对数正态随机数c语言程序,对数正态随机数
- GBase 8c基础操作
- 解决腾讯地图标记多个点,只渲染最后一个点问题
- oracle2108什么意思,Oracle存储过程(包:PACK_KPI_KERNEL For YS三度评价体系)
- 《设计模式之禅》观后感-六大设计原则(一)
- 程序员段子:等我敲完这行代码,就和你离婚!
- SpringBoot之:SpringBoot中使用HATEOAS
- 《新媒体管理师》初中高级报考条件是什么?带你详细了解,看看自己符合报名高级新媒体管理师吗?