Spark on k8s 源碼解析執行流程
1.通過spark-submit腳本提交spark程序
在spark-submit腳本里面執行了SparkSubmit類的main方法
2.運行SparkSubmit類的main方法,解析spark參數,調用submit方法
3.在submit方法里調用doRunMain方法,最終調用runMain方法
4.在runMain方法里面獲取mainClass,再去執行start方法
1、準備提交環境
2、獲取類加載器
3、判斷是否是sparkApplication
4、執行sparkApplication的start方法
5.在start方法里面去調用KubernetesClientApplication的start方法
1、獲取k8s的集群域名,調用k8s的客戶端,傳入spark相關配置參數
6.調用Client的run方法,通過k8s的apiserver創建Container pod 然后在container中創建driver pod
1、創建configmap
2、創建driver pod