簡體   English   中英

Spark-yarn 中客戶端模式下的 ApplicationMaster 如何工作?

[英]How ApplicationMaster in Client mode in Spark-yarn works?

我對火花很陌生。 目前我正在尋找 Spark 代碼以更好地理解它是如何工作的。

As far as I understand, In Spark Client mode, org.apache.spark.deploy.SparkSubmit class launches user's class wrapped by org.apache.spark.deploy.JavaMainApplication in this code(If my class doesn't extend SparkApplication)

val app: SparkApplication = if (classOf[SparkApplication].isAssignableFrom(mainClass)) {
  mainClass.getConstructor().newInstance().asInstanceOf[SparkApplication]
} else {
  new JavaMainApplication(mainClass) //Here my class will be ran by this
}
...
app.start(childArgs.toArray, sparkConf)

但是用戶應用程序沒有任何啟動 ApplicationMaster 邏輯。 如果我的 class 沒有實現org.apache.spark.deploy.SparkApplication ,我不明白 ApplicationMaster 是如何在客戶端模式下啟動的。

我發現的一件事是火花紗線package中有org.apache.spark.deploy.yarn.ExecutorLauncher ,但我不知道如果用戶不擴展SparkApplication它是如何運行的。

我設法弄清楚它是如何工作的。 初始化TaskScheduler時在SparkContext中初始化

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM