[英]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.