Spark学习笔记9-Spark Runtime
2016-03-07 20:46
183 查看
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视频。因为没能完全消化记忆,所以算转载。
相关文章推荐
- 【hdu 5636】Shortest Path 中文题意&题解&代码(C++)
- java操作mongodb数据库
- invisible visible gone
- SpringMVC配置
- 图数据库neo4j初探
- 拉伸图片的几种方式
- 为什么会有面向对象编程的产生 [20160307]
- centos yum安装php5.6.19 remi源按照
- 六、高级套接字函数
- 关于Python的简介以及安装使用
- HDU 5638 Toposort
- Photoshop制作清晰的透明PNG图片的方法和技巧
- 【数据结构】栈
- Android 控件使用教程(一)—— ListView 展示图片
- 作业二 数组求和(个人项目)
- 第二题
- IQKeyboardManager(自动处理键盘事件)
- 一步一步写算法(之非递归排序)
- C++模板归并排序
- 异常处理