随笔分类 -  Apache Spark

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) 推荐(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) 推荐(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) 推荐(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) 评论(0) 推荐(2)
Spark源码走读8——NetWork
摘要:网络管理,由于分布式集群,那么无论master还是worker都离不开网络通讯。Network包位于核心源码org.apache.spark.network中。ConnectionConnection是一个抽象,它有两个子类ReceivingConnection、SendingConnection。... 阅读全文
posted @ 2015-02-01 12:40 Spark_莫然 阅读(368) 评论(0) 推荐(0)
Spark源码走读7——Broadcast
摘要:Broadcast变量是Spark所支持的两种共享变量。主要共享分布式计算过程中各个task都会用到的只读变量。广播变量允许程序员在每台机器上保持一个只读变量的缓存,而不是发送它的一个副本任务。他们可以用于:给一个大量输入数据集的副本以有效的拷贝到每个节点。Spark也尝试使用高效广播算法来降低通信... 阅读全文
posted @ 2015-02-01 12:36 Spark_莫然 阅读(291) 评论(0) 推荐(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) 推荐(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) 推荐(0)
Spark源码走读4——Scheduler
摘要:用户提交的Job到DAGScheduler后,会封装成ActiveJob,同时启动JobWaiter监听作业的完成情况。同时依据job中RDD的dependency和dependency属性(NarrowDependency,ShufflerDependecy),DAGScheduler会根据依赖关... 阅读全文
posted @ 2015-02-01 11:44 Spark_莫然 阅读(383) 评论(0) 推荐(0)
Spark源码走读3——Job Runtime
摘要:下面主要说明作业提交的的具体运行环境,这里从SparkContext中的runJob方法开始跟踪它的源码过程。下面的图简要的描述了Job运行的过程runJob的源码如下:这里主要有三个函数:Clean(func):主要是清理关闭一些内容,比如序列化。runJob(...):将任务提交给DagSche... 阅读全文
posted @ 2015-01-31 20:38 Spark_莫然 阅读(265) 评论(0) 推荐(0)
Spark源码走读2——Spark Submit
摘要:这里主要说明作业提交的过程源码。SparkSubmit在org.apache.spark.deploy中,submit是一个单独的进程,首先查看它的main方法:createLaunchEnv方法中设置了一些配置参数:如返回值、集群模式、运行环境等。这里主要查看Client的集群模式。下面看下作业提... 阅读全文
posted @ 2015-01-31 20:26 Spark_莫然 阅读(258) 评论(0) 推荐(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) 推荐(0)