Spark任务执行模式与两种提交方式

StandaLone与Yarn的任务执行情况不同在于资源分配管理者不同,独立模式下是有Master负责管理,yarn模式是ResourceManager负责调度。

1、StandaLone:当集群启动后,Worker会向Master汇报资源,然后Master就会掌握Worker的集群信息。

2、Yarn:当启动集群后,NodeManager会向RsourceManager汇报资源,而RM就掌握了集群的资源。

任务提交方式有一种是client客户端,另一种是cluster集群方式,由shell命令指定模式。

Client:

1.当在客户端提交SparkApplication时,Driver会在客户端启动,客户端会向RM申请启动ApplicationMaster。
2.RM 收到请求会向随机找一个满足资源的NM启动Application Master,AM启动后,会向RM申请资源用于启动executor,RM会返回一批NM节点给AM,AM收到返回结果后,会真正的向NM中去启动executor,每个executor中会有线程池。
3.executor启动后会向Driver注册,Driver会向executor发送task,并且监控task执行,收回task执行的结果。
它的问题在于:因为Driver运行在本地,Driver会与yarn集群中的Executor进行大量的通信,会造成客户机网卡流量的大量增加,可以在客户端看到task的执行和结果.Yarn-client模式同样是适用于测试。

Cluster:

1.当客户端提交Spark Appliction。会向RM申请启动ApplictaionMaster,而RM会随机找到一个满足资源的NM去启动AM。
2.当AM启动之后它负责任务调度,所以这里就不启动Driver,而AM就相当于Driver一样的功能存在。
3.AM启动后会向RM申请启动Executor,每个Executor会由线程池,RM会返回一批满足资源的NM节点。
4.AM接收到返回结果会找到相应的NM,启动Executor,executor启动后会向AM注册,而AM会将task发送到executor去执行,并且监控task,回收task’处理的结果。
它的问题在于:Yarn-Cluster主要用于生产环境中,因为Driver运行在Yarn集群中某一台nodeManager中,每次提交任务的Driver所在的机器都是随机的,不会产生某一台机器网卡流量激增的现象,缺点是任务提交后不能看到日志。只能通过yarn查看日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值