Spark学习笔记9-Spark Runtime

本文解析了Spark分布式系统的五大核心对象及其运作机制,重点阐述了Master、Worker、Executor、Driver、CoarseGrainedExecutorBackend的功能及Master在资源分配过程中的角色与优势,特别是其在避免Driver阻塞和最大化并行计算资源使用率方面的高效特性。

1.Spark Runtime

1.1 从Spark Runtime的角度来讲由五大核心对象:Master、Worker、Executor、Driver、CoarseGrainedExecutorBackend;
这里写图片描述

这里写图片描述
1.2 当Driver中的SparkContext初始化的时候会提交程序给Master,Master如果接受该程序在Spark中运行的话,就会为当前的程序分配AppID,同时会分配具体的计算资源,需要特别注意的是,Master是根据当前提交程序的配置信息来给集群中的Worker发指令分配具体的计算资源,但是,Master发出指令后并不关心具体的资源是否已经分配,转来说Master是发指令后就记录了分配的资源,以后客户端再次提交其它的程序的话就不能使用该资源了。其弊端是可能会导致其它要提交的程序无法分配到本来应该可以分配到的计算资源;最终的优势在Spark分布式系统功能若耦合的基础上最快的运行系统(否则如果Master要等到资源最终分配成功后才通知Driver的话,就会造成Driver阻塞,不能够最大化并行计算资源的使用率)。
需要补充说明的是:Spark在默认情况下由于集群中一般都只有一个Application在运行,所有Master分配资源策略的弊端就没有那么明显了。

这里写图片描述


本次学习内容摘自王家林的spark视频。因为没能完全消化记忆,所以算转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值