spark-submit --master yarn \
--deploy-mode cluster \
--class org.apache.spark.examples.sparkpi \
/usr/local/spark-2.4.3-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.3.jar 100000
由之前文章可知,最終是由sparksubmit類向yarn集群提交任務,首先會把任務依賴的檔案上傳hdfs,然後生成yarn提交上下文引數,通過rpc方式向yarn的resource manager提交任務,其中提交上下文引數如下:
提交給hdfs的檔案如下圖
上圖給出檔案供參考(由於jar檔案過多過大,刪除了解壓到nm-local-dir/usercache/root/filecache/13/__spark_libs__3004195479466524435.zip目錄中的所有jar包)。
...// in cluster mode, used to tell the am when the user's sparkcontext has been initialized.
private val sparkcontextpromise = promise[sparkcontext]()
private def sparkcontextinitialized(sc: sparkcontext) =
} ...
val mainmethod = userclassloader.loadclass(args.userclass)
.getmethod("main", classof[array[string]])
val userthread = new thread else
} catch finally }}
userthread.setcontextclassloader(userclassloader)
userthread.setname("driver")
userthread.start()
userthread
} private def rundriver(): unit =
Spark 原始碼分析之spark submit
在客戶端執行指令碼sbin spark submit的時候,通過cat命令檢視原始碼可以看出,實際上在原始碼中將會執行bin spark class org.apache.spark.deploy.sparksubmit 在idea匯入的spark core的原始碼進行分析。首先spark會把初始化...
Spark 原始碼分析之SparkContext
saprkcontext非常重要,是spark提交任務到集群的入口 sparkcontext中沒有main方法,在sparkcontext主構造器中,主要做一下四件事情 1.呼叫createsparkenv 建立sparkenv,sparkenv中能夠得到actorsystem物件,用於建立acto...
Spark原始碼分析 Spark整體架構
術語 描述使用者編寫的程式。driver端的sparkcontext sparkconf和執行在executors上使用者編寫的業務邏輯 即map reduce reducebykey等 driver 執行使用者編寫應用程式的main 方法並建立sparkcontext worker 具體執行應用程...