D35 Spark源代码(待补充)

来源:互联网 发布:三星手机恢复软件 编辑:程序博客网 时间:2024/05/17 17:43
一、spark任务的执行流程:
 二、spark-1.3.1的源代码解读(spark-core_2.10:1.3.1)2.10是Scala的版本,1.3.1是Spark的版本
spark启动流程
sbin/start-all.sh   ->  start-master.sh   -> start-slaves.sh
sbin/start-master.sh  ->  先读取变量  sbin/spark-daemon.sh start org.apache.spark.deploy.master.Master 1 --ip $SPARK_MASTER_IP --port $SPARK_MASTER_PORT --webui-port $SPARK_MASTER_WEBUI_PORT

sbin/spark-daemon.sh  ->  /bin/spark-class $command "$@"
/bin/spark-class   ->     exec "$RUNNER" -cp "$CLASSPATH" $JAVA_OPTS "$@"
-------------------------------------------------------------------------------------------------------------
spark提交任务的过程
bin/spark-submit --class cn.itcast.spark.WordCount  --master spark://node-1.itcast.cn:7077 --executor-memory 2g --total-executor-cores 4
exec "$SPARK_HOME"/bin/spark-class org.apache.spark.deploy.SparkSubmit  -> exec "$RUNNER" -cp "$CLASSPATH" $JAVA_OPTS "$@"

重点来开一下spark-class org.apache.spark.deploy.SparkSubmit -》submit -》 doRunMain (args class cn.itcast.spark.WordCount ...)
--> Class.forName通过反射调用自定义类的main方法(只有一个进程)

三、sparkContext创建
  val conf =new SparkConf().setAppName("WordCount")
   //SparkContext的实例在SparkSubmit(Driver) 与Master建立链接,与RPC通信,DAGSchedule-->TaskScheduler
  val sc =new SparkContext(conf)  

四、SparkSubmit提交任务过程
 

待补充:一时半会儿理解不出来









原创粉丝点击