zoukankan      html  css  js  c++  java
  • spark-shell启动集群

    使用spark-shell  启动spark集群时的流程简析:

    spark-shell->spark-submit->spark-class 

    在sprk-class中根据条件会从不同的入口启动application。

     

    从SparkSubmitDriverBootstrapper启动时 conf/spark-defaults.conf文件必须存在,通过修改SPARK_PRINT_LAUNCH_COMMAND的值可以查看详细的Spark Command

    SparkSubmitDriverBootstrapper 主要是为了避免在脚本中处理复杂的的properties文件 。其中进行了运行环境所需的参数的配置,利用这些参数生成了command,同时开启进程 process执行命令,对于process的输入输出进行了重定向。通过配置SPARK_PRINT_LAUNCH_COMMAND环境变量可以查看生成的command。

    SparkSubmitArguments用于解析和封装从spark-submit脚本获得参数

    其中:
        getPropertiesFromFile(file: File)用于属性的配置文件
        parseOpts 解析参数
        mergeSparkProperties 根据读取的properties对未赋值的进行赋值
        checkRequiredArguments 确保必要的字段存在

     SparkSubmit是启动一个application的入口 主要有createLaunchEnv和launch两个方法,在launch中会通过反射调用mianclass(eg. 上如中的org.apache.spark.repl.Main),在SparkSubmit中会根据不同的clusterManger和deployMode选择不同的MainClass。

     

    在org.apache.spark.repl.Main中的Main方法调用process生成一个新的 new Scala compiler,在这个过程中会调用SprkILoopInit.scala中的initializeSpark方法用于最终生成sc,从而在REPL中使用。

  • 相关阅读:
    golang包管理工具glide安装
    kafka单机安装和启动
    python爬虫得到unicode编码处理方式
    束带结发洛杉矶到付款啦就是的开发
    是的发送到
    【业务】
    下载
    Peach+Fuzzer
    【Selenium】IE浏览器启动问题
    TestNG
  • 原文地址:https://www.cnblogs.com/goodlucklzq/p/4182685.html
Copyright © 2011-2022 走看看