原创 SparkStream例子HdfsWordCount--Streaming的Job是如何調度的

上一篇“SparkStream例子HdfsWordCount--從Dstream到RDD全過程解析”解析了每個Dstream週期內,是如何生成的RDD的。 該篇描述一下RDD變成Streaming的Job之後,如何到Executor上面執

原创 spark-core_01: $SPARK_HOME/bin/spark-shell

sparkshell腳本的作用:調用spark-submit腳本,並給spark-submit腳本 帶上參數如下參數--classorg.apache.spark.repl.Main --name "Spark shell" "$@" 具

原创 spark-core_07: $SPARK_HOME/sbin/start-slaves.sh腳本分析:

承接“spark-core_05: $SPARK_HOME/sbin/start-all.sh、start-master.sh腳本分析”,在spark-all.sh腳本中會調用start-slaves.sh來啓Worker節點 #!/us

原创 spark-core_04: org.apache.spark.deploy.SparkSubmit源碼分析:

承接上文“org.apache.spark.launcher.Main源碼分析“SparkSubmitArgumentsParser的父類就SparkSubmitOptionParser,在launcher.Main方法執行時用到Opti

原创 spark-core_02: $SPARK_HOME/bin/spark-submit、spark-class腳本分析

繼承上文“spark-core_01: $SPARK_HOME/bin/spark-shell腳本分析”一,$SPARK_HOME/bin/spark-submit#####################################

原创 spark-core_06: $SPARK_HOME/sbin/spark-daemon.sh腳本分析

承接上面“spark-core_05: $SPARK_HOME/sbin/start-all.sh、start-master.sh腳本分析”#!/usr/bin/envbash #Runs a Spark command as a dae

原创 SparkStreaming案例:NetworkWordCount--ReceiverInputDstream的compute方法如何取得Socket預先存放在BlockManager中的數據

1, 還是從這個案例開始object NetworkWordCount {   def main(args: Array[String]) {     if (args.length < 2) {       System.err.pri

原创 spark-core_05: $SPARK_HOME/sbin/start-all.sh、start-master.sh腳本分析:

一、這是$SPARK_HOME/sbin/start-all.sh腳本#!/usr/bin/envbash # Start all spark daemons. 後臺啓動所有spark節點,將master在這個節點中啓動,worker節點

原创 spark-core_10: org.apache.spark.deploy.master.Master源碼解析2--Master這個RpcEndPoint是如何初始化Master

承接上文/**   * RpcEndpoint的生命週期又是: onStart -> receive(receiveAndReply)* -> onStop   * 這個MasterRpcEndpoint是線程安全的   */ priva

原创 spark-core_29:blockManager.initialize()=》NettyBlockTransferService.init()-NettyServer創建源碼分析

上一節(spark-core_28:Executor初始化過程env.blockManager.initialize(conf.getAppId)- NettyBlockTransferService.init()源碼分析)分析了a、Ne

原创 spark-core_12:org.apache.spark.deploy.master.Master源碼解析4-- 如何清理超時的Woker及zk是如何選舉

承接上文,回到Master的onStart的方法體中     // masterWebUiUrl 值 http://luyl152:8080     masterWebUiUrl = "http://" + masterPublicAdd

原创 spark-core_30:Executor初始化過程env.blockManager.initialize(conf.getAppId)源碼分析

在(spark-core_28及spark-core_29:Executor初始化過程env.blockManager.initialize(conf.getAppId)-NettyBlockTransferService.init()源

原创 spark-core_19:ActorSystem的初始化源碼分析

1,在SparkEnv再創建時調用create(),裏面調用初始ActorSystem注:ActorSystem在後面版本會被RpcEnv替換掉private def create(    conf: SparkConf,    exec

原创 spark-core_22: SparkDeploySchedulerBackend,TaskSchedulerImpl的初始化源碼分析

1,  在sparkContext初始時會執行// Create and startthe scheduler,這個master是在sparkSubmit.Main方法得到:spark://luyl152:7077,luyl153:707

原创 spark-core_24:註冊RegisterApplication,schedule()分配worker的資源,啓動CoarseGrainedExecutorBackend源碼分析

基於上文(spark-core_23: TaskSchedulerImpl.start()、SparkDeploySchedulerBackend.start()、CoarseGrainedExecutorBackend.start()、