6.3.2 Driver和Master交互原理解析
Driver和Master进行交互,Master是一个消息循环体,本章节讲解Driver消息循环体的产生过程,Drvier消息循环体生成之后,就可以与Master互相通信。
在Spark应用程序提交的时候,我们会提交一个spark-submit脚本,spark-submit脚本中直接运行了org.apache.spark.deploy.SparkSubmit这个对象。Spark-submit脚本内容如下所示。
1. #!/usr/bin/env bash 2. SPARK_HOME="$(cd "`dirname "$0"`"/..; pwd)" 3. export PYTHONHASHSEED=0 4. exec "$SPARK_HOME"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"//运行SparkSubmit |
进入到SparkSubmit中,main函数代码如下所示。
SparkSubmit.scala源码: