![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spark
jianyuanPC
这个作者很懒,什么都没留下…
展开
-
Spark1.0.0源码编译及安装
最近想对自己学的东西做些总结也算是回顾,看到写博客是个不错的方式,方便他人也有利自己,刚开始写不足之处大家多担待。Spark编译有提供了两种方式:1、Maven在 /etc/profile文中添加:export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"执行命令:mv原创 2014-07-23 13:55:29 · 592 阅读 · 0 评论 -
Spark系列(五)Master主备切换机制
Spark Master主备切换主要有两种机制,之中是基于文件系统,一种是基于Zookeeper.基于文件系统的主备切换机制需要在Active Master挂掉后手动切换到Standby Master上,而基于Zookeeper的主备切换机制可以实现自动切换Master。 切换流程图 流程说明: Standby Master模式 1. 使用持久化引擎读取持久化的storeApps原创 2016-11-15 10:06:36 · 1091 阅读 · 0 评论 -
Spark系列(一)Spark1.0.0源码编译及安装
最近想对自己学的东西做些回顾,想到写博客是个不错的方式,方便他人也有利自己,刚开始写不足之处大家多担待。 编译前需要安装JDK1.6以上、scala、Maven、Ant、hadoop2.20 如下图(/etc/profile): Spark编译有提供了两种方式:Maven编译:在 /etc/profile文中添加:export MAVEN_OPTS="-Xmx2g -X原创 2016-11-15 09:59:00 · 334 阅读 · 0 评论 -
Spark系列(三)SparkContext分析
SparkContext初始化流程图 其它说明: 在createTaskScheduler会根据不同的提交模式创建backend对象(如本地模式为LocalBackend)。 在SparkDeploySchedulerBackend中构造ApplicationDescription对象appDesc,该对象描述了Application最大需要多少CPU core,每个slave原创 2016-11-15 10:06:01 · 454 阅读 · 0 评论 -
Spark系列(四)整体架构分析
架构流程图 说明 Driver端流程说明(Standalone模式) 使用spark-submit提交Spark应用程序Application. 通过反射的方式创建和构造一个DriverActor进程(Driver进程). SparkContext初始化,构造DAGScheduler和TaskScheduler. 每执行到一个Action操作就会创建一个job原创 2016-11-15 10:06:21 · 408 阅读 · 0 评论 -
Spark系列(六)Master注册机制和状态改变机制
各组件的注册流程如下图: 注册机制源码说明: 入口:org.apache.spark.deploy.master文件下的receiveWithLogging方法中的case RegisterApplication(注册Application)、case RegisterWorker(注册Worker)、case RequestSubmitDriver(注册Driver). 状态改变机制原创 2016-11-15 10:06:49 · 367 阅读 · 0 评论 -
Spark系列(七)Master中的资源调度
资源调度 说明: Application的调度算法有两种,分别为spreadOutApps和非spreadOutApps spreadOutApps 在spark-submit脚本中,可以指定要多少个executor,executor需要多少个cpu及多少内存,基于该机制,最后executor的实际数量,以及每个executor的cpu可能与配置是不一样的。 因为spr原创 2016-11-15 10:06:55 · 535 阅读 · 0 评论 -
Spark系列(八)Worker工作原理
工作原理图 源代码分析 包名:org.apache.spark.deploy.worker 启动driver入口点:registerWithMaster方法中的case LaunchDriver 1 case LaunchDriver(driverId, driverDesc) => {原创 2016-11-15 10:07:03 · 442 阅读 · 0 评论 -
Spark系列(九)DAGScheduler工作原理
以wordcount为示例进行深入分析 1 object wordcount { 2 3 def main(args: Array[String]) {原创 2016-11-15 10:07:10 · 384 阅读 · 0 评论 -
Spark系列(十)TaskSchedule工作原理
工作原理图 源码分析: 1、submitTasks 在submitTasks方法中最后调用backend.reviveOffers()进行下一步的task调度分配 1 override def submitTasks(taskSet: TaskSet) { 2原创 2016-11-15 10:07:18 · 651 阅读 · 0 评论