spark-submit解读

作者: 凡尔Issac | 来源:发表于2018-05-18 18:15 被阅读104次

    本文基于spark1.6-CDH5.7.2讨论

    当执行spark-submit时,会产出如下操作:
    1、设置HADOOP_HOME=/opt/cloudera/parcels/CDH-5.7.2-1.cdh5.7.2.p0.18/lib/hadoop
    2、检测java版本、javalibs、classpath、monitor-service
    3、调用/opt/cloudera/parcels/CDH-5.7.2-1.cdh5.7.2.p0.18/bin/spark-submit

    image.png

    紧接着会进行下面的操作:
    4、设置SPARK_HOME=/opt/cloudera/parcels/CDH-5.7.2-1.cdh5.7.2.p0.18/lib/spark/
    5、调用spark-class脚本,并传入参数org.apache.spark.deploy.SparkSubmit "$@"


    image.png

    6、调用load-spark-env.sh,检查SPARK_HOME,设置SPARK_SCALA_VERSION
    7、调用/opt/cloudera/parcels/CDH-5.7.2-1.cdh5.7.2.p0.18/lib/spark/conf/spark-env.sh脚本,这里会加载许多的环境变量,包括在构建driver启动命令的classpath时的HADOOP_CONF_DIR、YARN_CONF_DIR、SPARK_DIST_CLASSPATH、HIVE_CONF_DIR、PYTHON_HOME
    7、检查java是否可用
    8、设置ASSEMBLY_DIR、SPARK_ASSEMBLY_JAR、LAUNCH_CLASSPATH(这将是启动spark launcher时的classpath)
    9、执行org.apache.spark.launcher.Main方法


    image.png

    10、org.apache.spark.launcher.Main会构建一个jvm启动命令,用以启动spark driver。

    后续将介绍launcher.Main

    相关文章

      网友评论

        本文标题:spark-submit解读

        本文链接:https://www.haomeiwen.com/subject/zacbdftx.html