spark-submit

本文详细介绍了SparkSubmit在YARN集群上的执行流程,包括Yarn Cluster和Client两种模式下Driver的配置,如内存和CPU资源,以及ApplicationMaster的区别。在Yarn Cluster模式中,Driver运行在ApplicationMaster内,而在Client模式下,Driver运行在本地。
摘要由CSDN通过智能技术生成
org.apache.spark.deploy.SparkSubmit执行流程
SparkSubmit#doSubmit
// 解析参数并做参数验证,
val appArgs = parseArguments(args)
submit(appArgs, uninitLog)
//SparkSubmit#submit
// 环境准备 
// childMainClass: org.apache.spark.deploy.yarn.YarnClusterApplication
val (childArgs, childClasspath, sparkConf, childMainClass) = prepareSubmitEnvironment(args)

// 根据准备的环境 执行child class的main方法
// mainClass 指定的情况并且是SparkApplication的子类: isYarnCluster 的情况, mainClass为org.apache.spark.deploy.yarn.YarnClusterApplication
val app: SparkApplication = if (classOf[SparkApplication].isAssignableFrom(mainClass)) {
      mainClass.newInstance().asInstanceOf[SparkApplication]
    } else {
      // SPARK-4170
      if (classOf[scala.App].isAssignableFrom(mainClass)) {
        logWarning("Subclasses of scala.App may not work correctly. Use a main() method instead.")
      }
      new JavaMainApplication(mainClass)
    }

// 当yarn cluster的场景,启动的是YarnClusterApplication
// 当yarn client的场景,启动的是JavaMainApplication
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值