Spark源码走读12——Spark Streaming
摘要:SummarizeSpark Streaming实现了对实时流数据的高吞吐量、地容错的数据处理API。它的数据来源有很多种:Kafka、Flume、Twitter、ZeroMQ、TCP Scoket等。架构图如下:Streaming接收实时流输入的数据,将其按批划分,然后交给Spark Enigne...
阅读全文
posted @
2015-02-01 13:52
Spark_莫然
阅读(308)
推荐(0)
Spark源码走读11——Standalone
摘要:Spark的资源调度由自己实现,主要节点分为Master、Worker、Driver。Driver一般运行在Master节点中。Standalone模式一般的分布式一样也是Master-Slavers的模式,那么关于Master的HA也有多种实现方式:1)文件系统发生故障立即恢复,当Master节点...
阅读全文
posted @
2015-02-01 13:14
Spark_莫然
阅读(467)
推荐(0)
Spark源码走读10——Spark On Yarn
摘要:首先需要修改配置文件spark-env.sh。在这个文件中需要添加两个属性:Export HADOOP_HOME=/../hadoop..ExportHADOOP_CONF_DIR=/../hadoop/etc/hadoop这里,一个是要hadoop的home目录。一个是配置文件目录。还需要配置一个...
阅读全文
posted @
2015-02-01 13:00
Spark_莫然
阅读(342)
推荐(0)
Spark源码走读9——Metrics
摘要:Spark的监测系统。配置文件在目录~/spark-1.1.0-bin-hadoop2.4/conf/metrics.properties.template下。这个配置文件是主要针对Spark内部组件监测的一个配置项。它可以配置一个或多个sinks。一下是metrics的一些基本属性概念“insta...
阅读全文
posted @
2015-02-01 12:50
Spark_莫然
阅读(770)
推荐(2)
Spark源码走读8——NetWork
摘要:网络管理,由于分布式集群,那么无论master还是worker都离不开网络通讯。Network包位于核心源码org.apache.spark.network中。ConnectionConnection是一个抽象,它有两个子类ReceivingConnection、SendingConnection。...
阅读全文
posted @
2015-02-01 12:40
Spark_莫然
阅读(368)
推荐(0)
Spark源码走读7——Broadcast
摘要:Broadcast变量是Spark所支持的两种共享变量。主要共享分布式计算过程中各个task都会用到的只读变量。广播变量允许程序员在每台机器上保持一个只读变量的缓存,而不是发送它的一个副本任务。他们可以用于:给一个大量输入数据集的副本以有效的拷贝到每个节点。Spark也尝试使用高效广播算法来降低通信...
阅读全文
posted @
2015-02-01 12:36
Spark_莫然
阅读(291)
推荐(0)
Spark源码走读6——Shuffle
摘要:在Map和Reduce之间的过程就是Shuffle,Shuffle的性能直接影响整个Spark的性能。所以Shuffle至关重要。Shuffle 介绍从图中得知,Map输出的结构产生在bucket中。而bucket的数量是map*reduce的个数。这里的每一个bucket都对应一个文件。Map对b...
阅读全文
posted @
2015-02-01 12:29
Spark_莫然
阅读(264)
推荐(0)
Spark源码走读5——Storage
摘要:BlockManagerStoragef模块主要分为两层:1):负责向BlockManagerMaster上报blaock信息,master与slave之间的信息传递通 过m-s的模式传递2):数据层 负责存储和读取信息,主要在disk、memory、tachyon上通常RDD的数据存放在分区中,...
阅读全文
posted @
2015-02-01 11:57
Spark_莫然
阅读(320)
推荐(0)
Spark源码走读4——Scheduler
摘要:用户提交的Job到DAGScheduler后,会封装成ActiveJob,同时启动JobWaiter监听作业的完成情况。同时依据job中RDD的dependency和dependency属性(NarrowDependency,ShufflerDependecy),DAGScheduler会根据依赖关...
阅读全文
posted @
2015-02-01 11:44
Spark_莫然
阅读(383)
推荐(0)
Spark源码走读3——Job Runtime
摘要:下面主要说明作业提交的的具体运行环境,这里从SparkContext中的runJob方法开始跟踪它的源码过程。下面的图简要的描述了Job运行的过程runJob的源码如下:这里主要有三个函数:Clean(func):主要是清理关闭一些内容,比如序列化。runJob(...):将任务提交给DagSche...
阅读全文
posted @
2015-01-31 20:38
Spark_莫然
阅读(265)
推荐(0)
Spark源码走读2——Spark Submit
摘要:这里主要说明作业提交的过程源码。SparkSubmit在org.apache.spark.deploy中,submit是一个单独的进程,首先查看它的main方法:createLaunchEnv方法中设置了一些配置参数:如返回值、集群模式、运行环境等。这里主要查看Client的集群模式。下面看下作业提...
阅读全文
posted @
2015-01-31 20:26
Spark_莫然
阅读(258)
推荐(0)
Spark源码走读1——RDD
摘要:RDD全称Resilient Distributed DataSets,弹性的分布式数据集。是Spark的核心内容。RDD是只读的,不可变的数据集,也拥有很好的容错机制。他有5个主要特性 -A list of partitions 分片列表,数据能为切分才好做并行计算 -A function for...
阅读全文
posted @
2015-01-31 20:04
Spark_莫然
阅读(328)
推荐(0)