spark
文章平均质量分 72
AlanHand
这个作者很懒,什么都没留下…
展开
-
spark+hadoop Standalone模式 搭建
spark安装与使用(Standalone模式)分类:Hadoop (1315) (0)安装环境: Ubuntu sever版 ,java ,scala,一:在linux下安装java环境(自行安装jdk)二:安装Scala2.9.3$ tar -zxf scala-2.9.3.tgz$ sudo mv scala-2.9.3 /原创 2016-10-23 20:28:53 · 2225 阅读 · 0 评论 -
7.DAGScheduler的stage算法划分和TaskScheduler的task算法划分
先来一张图描述整个stage算法划分的由来:先从DAGScheduler的入口开始 , 源码如下 :/** * DAGScheduler的job调度的核心入口函数 */ private[scheduler] def handleJobSubmitted(jobId: Int, finalRDD: RDD[_], func:原创 2017-06-22 18:57:43 · 935 阅读 · 0 评论 -
10.BlockManager源码分析
先来张原理图吧 !上面的BlockManagerWorker是在1.3之前的版本中才有的 , 从1.3开始BlockManagerWorker由BlockTransferService替代 . 其实BlockManagerMaster的主要工作是交于BlockManagerMasterActor来处理的:/** * BlockManagerMa原创 2017-06-22 19:03:52 · 750 阅读 · 0 评论 -
9.Shuffle读写源码分析
先直接上原理图吧 !ShuffleMapTask在计算数据之后会为每一个ResultTask创建一份bucket缓存 , 以及对应的ShuffleBlockFIle磁盘文件进行储存 , 在计算完之后会将计算过的相应信息放入MapStatus , 最后发送给Driver中的DAGScheduler的MapOutputTracker , 每个ResultTask会用BlockStoreSh原创 2017-06-22 18:59:36 · 800 阅读 · 0 评论 -
8.Executor源码分析与Task源码分析
先来一张分析图:CoarseGrainedExecutorBackend是在worker上启动的 , 是一个worker上的后台进程 , 启动之后会获取Driver的actor立即向Driver发送注册Executor的消息 , 注册成功之后Driver又会向CoarseGrainedExecutorBackend返回注册成功的RegisterExecutor消息 , 此时就会正式原创 2017-06-22 18:57:04 · 549 阅读 · 0 评论 -
6.job触发流程原理剖析与源码分析
从我们编写的一个小的spark demo程序开始 :val lines = sparkContext.textFile("")val words = lines.flatMap(line => line.split("\t"))val pairs = words.map(word => (word,1))val counts = pairs.reduceByKey(_+_)count原创 2017-06-22 18:54:01 · 504 阅读 · 0 评论 -
5.Worker源码分析
worker的源码分析代码就比较少了 , 整个worker.scala的代码只有不到600行 , 但是还得研究一下DriverRunner和ExecutorRunner的代码1. Worker中的代码主要集中在 receiveWithLogging方法中 , 该方法接收别的组件发送过来的消息 , 就像master源码中发送过来的launchDriver()消息原创 2017-06-22 18:53:27 · 534 阅读 · 0 评论 -
3.Master注册机制源码分析和状态改变机制源码分析
master注册机制原理图如下 , 说明了就是将Application信息 , Driver信息和所有的Worker信息加入缓存队列中1. Application的注册其实在master.scala的代码中就一段代码 : /** * 处理Application注册请求信息 */ case RegisterApplication(desc原创 2017-06-22 18:50:59 · 446 阅读 · 0 评论 -
2.Master主备机制切换源码分析
先看下原理图:从Master的 completeRecovery方法开始分析 , 代码如下:/** * 完成主备机切换 , 当主Master挂掉的时候完成StandByMaster的启动 */ def completeRecovery() { // Ensure "only-once" recovery semantics using a sho原创 2017-06-22 18:45:40 · 845 阅读 · 0 评论 -
1.SparkContext源码分析
先来章整个SparkContext的架构图:1.通过SparkContext的createTaskScheduler获取TaskSchedulerImpl和SparkDeploySchedulerBackendprivate[spark] var (schedulerBackend, taskScheduler) = SparkContext.createTas原创 2017-06-22 18:38:53 · 488 阅读 · 0 评论 -
spark+hadoop (yarn模式)
最近毕设需要用到 Spark 集群,所以就记录下了部署的过程。我们知道 Spark 官方提供了三种集群部署方案: Standalone, Mesos, YARN。其中 Standalone 最为方便,本文主要讲述结合 YARN 的部署方案。软件环境:Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-32-generic x86_64)Hadoop: 2.原创 2016-10-23 20:31:50 · 4476 阅读 · 0 评论 -
11.CacheManager源码分析
先来张原理图:原创 2017-06-22 19:05:27 · 489 阅读 · 0 评论