E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Spark源码分析
Spark源码分析
之-scheduler模块
BackgroundSpark在资源管理和调度方式上采用了类似于Hadoop YARN的方式,最上层是资源调度器,它负责分配资源和调度注册到Spark中的所有应用,Spark选用Mesos或是YARN等作为其资源调度框架。在每一个应用内部,Spark又实现了任务调度器,负责任务的调度和协调,类似于MapReduce。本质上,外层的资源调度和内层的任务调度相互独立,各司其职。本文对于Spark的源码
hao707822882
·
2014-10-20 18:00
spark调度
Spark源码分析
(1) 从WordCount示例看Spark延迟计算原理
WordCount示例:val file=spark.textFile("hdfs://...")val counts=file.flatMap(line=>line.split("")) .map(word=>(word,1)) .reduceByKey(_+_)counts.saveAsTextFile("hdfs://...")
josephguan
·
2014-08-22 12:00
spark
源代码
lazy
Spark源码分析
(四)-Job提交过程
原创文章,转载请注明:转载自http://www.cnblogs.com/tovin/p/3903478.html本文将以一个简单的WordCount为例来看看Job的提交过程由输出的日志可以看出job的提交过程主要经过了SparkContext-》DAGScheduler-》TaskScheduler的处理先从RDD入手,看看RDD的转化过程。在wordcount程序中一个README.md文件
tovin
·
2014-08-21 15:00
从Storm和Spark 学习流式实时分布式计算的设计
本来想就写
Spark源码分析
的文章吧。但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量不够。因此,我将最近一直在做的系统架构的思路整理出来,形成此文。
anzhsoft
·
2014-08-02 17:51
架构探索
云计算
Spark
Spark技术内幕
从Storm和Spark 学习流式实时分布式计算的设计
本来想就写
Spark源码分析
的文章吧。但是又想毕竟是决赛,要拿出一些自己的干货出来,仅仅是源码分析貌似分量不够。因此,我将最近一直在做的系统架构的思路整理出来,形成此文。
anzhsoft2008
·
2014-08-02 17:00
storm
spark
分布式
zk
Streaming
Spark源码分析
(三)-TaskScheduler创建
原创文章,转载请注明:转载自http://www.cnblogs.com/tovin/p/3879151.html在SparkContext创建过程中会调用createTaskScheduler函数来启动TaskScheduler任务调度器,本文就详细分析TaskScheduler的工作原理:TaskScheduler会根据部署方式而选择不同的SchedulerBackend来处理下图展示了Tas
tovin
·
2014-08-01 10:00
Spark源码分析
(二)-SparkContext创建
原创文章,转载请注明:转载自http://www.cnblogs.com/tovin/p/3872785.htmlSparkContext是应用启动时创建的Spark上下文对象,是一个重要的入口类。本文主要分析下在SparkContext类创建过程中进行的一些重要操作:1、创建SparkConf对象创建SparkConf对象来管理spark应用的属性设置。SparkConf类比较简单,是通过一个H
tovin
·
2014-07-29 21:00
Spark源码分析
环境搭建
原创文章,转载请注明:转载自http://www.cnblogs.com/tovin/p/3868718.html本文主要分享一下如何构建
Spark源码分析
环境。
tovin
·
2014-07-25 18:00
Spark源码分析
(一)-Standalone启动过程
原创文章,转载请注明:转载自http://www.cnblogs.com/tovin/p/3858065.html为了更深入的了解spark,现开始对spark源码进行分析,本系列文章以spark1.0.0版本源码作为分析对象。今天主要分析下standalone部署方式的启动过程1、SparkStandalone组件Standalone部署方式是一种典型master-slave模式,在这种模式下主
tovin
·
2014-07-24 17:00
Spark 学习总结(学习资料一)
2014JanuaryJanuary4,2014 » 详细探究Spark的shuffle实现January2,2014 » 使用MapReduce框架实现SimRank算法2013OctoberOctober8,2013 »
Spark
lantian0802
·
2014-05-19 17:00
spark
Spark源码分析
13-Tuning Spark
We can refer to the link http://spark.incubator.apache.org/docs/latest/tuning.html for detail tuning document. After tuning, spark can process 200M logs every
frankfan915
·
2014-05-15 17:00
tuning
Spark源码分析
11-BlockManager
BlockManager主要在deriver和excutor构造。在deriver构造了一个BlockManagerMasterActor对象,主要负责收集block的info。在executor创建了BlockManagerMasterActor的ref,并且将ref封装到BlockManagerMaster中用于与BlockManagerMasterActor的通信。BlockManager封
frankfan915
·
2014-05-13 22:00
manager
Spark源码分析
10-Schedualer
Spark很重要的一部分是Task的schedual,以下是具体的流程图。 SchedulableBuilder分为两种,分别是FairSchedulableBuilder和FIFOSchedulableBuilder。主要是pool的getSortedTaskSetQueue方法中调用不同的taskSetSchedulingAlgorithm去排序schedulableQueueoverride
frankfan915
·
2014-05-11 20:00
spark
Spark源码分析
9-Excutor
Excutor主要分为两部分,一是ExecutorBackend,二是Executor。ExecutorBackend用来接收信息,调用Executor执行task。我们以CoarseGrainedExecutorBackend为例介绍Excutor。 worker会调用java命令启动CoarseGrainedExecutorBackend。在run函数中创建了CoarseGrainedExe
frankfan915
·
2014-05-11 10:00
spark
Spark源码分析
8-client 如何选择将task提交给那个excutor
spark中很重要的一点就是task具体分配到哪个excutor上执行,如果分配不合理,将会消耗很多额外的资源。例如:executor1用flumereceiver接收到数据,并将数据保存到block1上,excutor2用flumereceiver接收到数据,并将数据保存到block2上。RDD将有两个patition,将对应产生两个task.task1处理block1,task2处理block
frankfan915
·
2014-05-08 15:00
client
Spark源码分析
7-Metrics的分析
spark用metrics-core这个jar包来做spark 各个部件metrics的管理 Metrics.properties.template文件是用来配置metrics的,metrics的配置分为两部分,一是source,二是sink。有些类似于flume的source和sink的概念。Source用来收集work,master,deriver,executor等的信息。Source有A
frankfan915
·
2014-05-08 11:00
spark
Spark源码分析
6-Worker
Worker 主要负责管理excutor和driver,并向master报告excutor和driver的状态 Worker的启动 类似于master,创建了worker的actor private[spark] object Worker { def main(argStrings: Array[String]) { val args = new Wor
frankfan915
·
2014-05-08 11:00
worker
Spark源码分析
5-Master
本节主要分析Master的主要功能。Master主要分为两块.1.Masterleader的选举。2.Master对work,application,deriver的管理 首先看Master是怎么启动的调用了 actorSystem.actorOf()创建了MasterActor对象defmain(argStrings:Array[String]){ valconf=newSparkConf
frankfan915
·
2014-05-07 11:00
master
Spark源码分析
2-Driver generate jobs and launch task
Drivergeneratejobsandlaunchtask1.Driver将按照DStream的compute方法生成RDD的依赖列表2.按照RDD的关系生成stage的列表,stage分为两种:finalStage和shuffledStage . 1)每个ShuffledRDD都会产生一个shuffledStage,shuffledstage用来将shuffledRDD的prevRDD计算
frankfan915
·
2014-05-06 14:00
driver
spark源码分析
:catalyst 草稿
object Optimizer extends RuleExecutor[LogicalPlan] { val batches = Batch("ConstantFolding", Once, ConstantFolding, &n
baishuo491
·
2014-05-06 10:00
spark
Spark源码分析
1-部署与整体架构
Spark官网:http://spark.apache.org/docs/latest/ApacheSparkisafastandgeneral-purposeclustercomputingsystem.Itprovideshigh-levelAPIsin Scala, Java,and Python thatmakeparalleljobseasytowrite,andanoptimizede
frankfan915
·
2014-05-06 10:00
spark
spark源码分析
--rdd和stage的生成(更新了一张图)
原创,转载请注明出处 http://baishuo491.iteye.com/blog/2019510 ,作者邮箱:
[email protected]
,新浪微博:爱看历史的码农--白硕 作者单位:亚信联创大数据平台部 从一个简单的例子,来看rdd的演化,和stage是如何生成的(过程灰常之复杂和抽象,请参考附件的图来理解) object BaiWordCount2 {
baishuo491
·
2014-02-19 23:00
spark
Spark 源码分析 -- task实际执行过程
Spark源码分析
– SparkContext 中的例子, 只分析到sc.runJob 那么最终是怎么执行的?
·
2014-01-21 16:00
spark
spark源码分析
--spark的任务调度(补充一张图)
原创,转载请注明出处 http://baishuo491.iteye.com/blog/2007317,作者邮箱:
[email protected]
,新浪微博:爱看历史的码农--白硕对于http://baishuo491.iteye.com/blog/1994026,画了一张图,辅助源码阅读,图片较大
baishuo491
·
2014-01-20 14:00
spark
Spark源码分析
– 汇总索引
blog.csdn.net/pelick/article/details/17222873 如果想了解Spark的设计, 第一个足够 如果想梳理Spark的源码整体结构, 第二个也可以 ALL
Spark
·
2014-01-16 14:00
spark
Spark源码分析
– SparkEnv
SparkEnv在两个地方会被创建, 由于SparkEnv中包含了很多重要的模块, 比如BlockManager, 所以SparkEnv很重要 Driver端, 在SparkContext初始化的时候, SparkEnv会被创建 // Create the Spark execution environment (cache, map output tracker, etc) pri
·
2014-01-13 10:00
spark
Spark源码分析
– Checkpoint
CP的步骤 1. 首先如果RDD需要CP, 调用RDD.checkpoint()来mark 注释说了, 这个需要在Job被执行前被mark, 原因后面看, 并且最好选择persist这个RDD, 否则在存CP文件时需要重新computeRDD内容 并且当RDD被CP后, 所有dependencies都会被清除, 因为既然RDD已经被CP, 那么就可以直接从文件读取, 没有必要保留之前的pare
·
2014-01-10 18:00
spark
Spark源码分析
– BlockManager
参考,
Spark源码分析
之-Storage模块 对于storage, 为何Spark需要storage模块?
·
2014-01-10 11:00
manager
Spark源码分析
– Executor
ExecutorBackend 很简单的接口 package org.apache.spark.executor /** * A pluggable interface used by the Executor to send updates to the cluster scheduler. */ private[spark] trait ExecutorBackend {
·
2014-01-07 16:00
executor
Spark源码分析
-- SchedulableBuilder
SchedulableBuilder就是对Scheduleable tree的封装, 在Pool层面(中间节点), 完成对TaskSet的调度(FIFO, FAIR) 在TaskSetManager 层面(叶子节点), 完成对TaskSet中task的调度(locality)以及track(retry) TaskSetManager 用于封装TaskSet, 主要提供对单个TaskSet内部的
·
2014-01-06 15:00
builder
Spark源码分析
-- TaskScheduler
Spark在设计上将DAGScheduler和TaskScheduler完全解耦合, 所以在资源管理和task调度上可以有更多的方案 现在支持, LocalSheduler, ClusterScheduler, MesosScheduler, YarnClusterScheduler 先分析ClusterScheduler, 即standalone的Spark集群上, 因为比较单纯不涉及其他的
·
2014-01-03 18:00
scheduler
Spark源码分析
– SchedulerBackend
SchedulerBackend, 两个任务, 申请资源和task执行和管理 对于SparkDeploySchedulerBackend, 基于actor模式, 主要就是启动和管理两个actor Deploy.Client Actor, 负责资源申请, 在SparkDeploySchedulerBackend初始化的时候就会被创建, 然后Client会去到Master上注册, 最终完成在Work
·
2014-01-03 17:00
scheduler
Spark源码分析
– Deploy
参考,
Spark源码分析
之-deploy模块 Client Client在SparkDeploySchedulerBackend被start的时候, 被创建, 代表一个application
·
2014-01-02 17:00
deploy
Spark源码分析
– DAGScheduler
DAGScheduler的架构其实非常简单, 1. eventQueue, 所有需要DAGScheduler处理的事情都需要往eventQueue中发送event 2. eventLoop Thread, 会不断的从eventQueue中获取event并处理 3. 实现TaskSchedulerListener, 并注册到TaskScheduler中, 这样TaskScheduler可以随时
·
2013-12-30 15:00
scheduler
Spark源码分析
– SparkContext
Spark源码分析
之-scheduler模块 这位写的非常好, 让我对Spark的源码分析, 变的轻松了许多 这里自己再梳理一遍 先看一个简单的spark操作, val sc = new SparkContext
·
2013-12-24 18:00
context
Spark源码分析
-- PairRDD
和一般RDD最大的不同就是有两个泛型参数, [K, V]表示pair的概念 关键的function是, combineByKey, 所有pair相关操作的抽象 combine是这样的操作, Turns an RDD[(K, V)] into a result of type RDD[(K, C)] 其中C有可能只是简单类型, 但经常是seq, 比如(Int, Int) to (Int, Seq[
·
2013-12-24 15:00
spark
spark源码分析
--spark的任务调度(standalone模式)
阅读更多原创,转载请注明出处http://baishuo491.iteye.com/blog/1994026,作者邮箱:
[email protected]
,新浪微博:爱看历史的码农--白硕在sparkContext的建立过程中(更细致的说是clientActor的preStart回调函数中),会向master发送RegisterApplication消息master!RegisterAppli
baishuo491
·
2013-12-23 16:00
spark
scala
bigdata
Hadoop
spark源码分析
--spark的任务调度(standalone模式)
阅读更多原创,转载请注明出处http://baishuo491.iteye.com/blog/1994026,作者邮箱:
[email protected]
,新浪微博:爱看历史的码农--白硕在sparkContext的建立过程中(更细致的说是clientActor的preStart回调函数中),会向master发送RegisterApplication消息master!RegisterAppli
baishuo491
·
2013-12-23 16:00
spark
scala
bigdata
Hadoop
spark源码分析
--spark的任务调度(standalone模式)
原创,转载请注明出处 http://baishuo491.iteye.com/blog/1994026 ,作者邮箱:
[email protected]
,新浪微博:爱看历史的码农--白硕 在sparkContext的建立过程中(更细致的说是clientActor的preStart回调函数中),会向master发送RegisterApplication消息 master ! R
baishuo491
·
2013-12-23 16:00
scala
hadoop
spark
BigData
spark源码分析
--Master和worker建立连接
阅读更多原创,转载请注明出处http://baishuo491.iteye.com/blog/1990242。作者邮箱
[email protected]
的master启动后,等待work通过spark://master'ip:7077的url去连接Master.在worker的回调函数preStart(Worker.scala)里面,调用了函数connectToMaster,这个函数
baishuo491
·
2013-12-16 15:00
spark
scala
源码分析
bigdata
大数据
spark源码分析
--Master和worker建立连接
阅读更多原创,转载请注明出处http://baishuo491.iteye.com/blog/1990242。作者邮箱
[email protected]
的master启动后,等待work通过spark://master'ip:7077的url去连接Master.在worker的回调函数preStart(Worker.scala)里面,调用了函数connectToMaster,这个函数
baishuo491
·
2013-12-16 15:00
spark
scala
源码分析
bigdata
大数据
spark源码分析
--Master和worker建立连接
原创,转载请注明出处 http://baishuo491.iteye.com/blog/1990242。作者邮箱
[email protected]
Spark的master启动后,等待work通过spark://master'ip:7077的url去连接Master. 在worker的回调函数preStart(Worker.scala)里面,调用了函数conne
baishuo491
·
2013-12-16 15:00
scala
spark
大数据
源码分析
BigData
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他