1.大綱
spark應用構成:Driver(資源申請、job調度) + Executors(Task具體執行)
Yarn上應用運行構成:ApplicationMaster(資源申請、job調度) + Containers(Task具體執行)
Driver有兩種運行模式,導致結構不太一樣
2.client的情形
Driver運行在提交job的機器上(執行spark-submit的機器)
Driver運行在提交jar的機器上,任務運行在yarn上;Driver的功能是:申請資源運行AM,Job調度
AM負責SparkTask運行所需要的資源的申請
重要的步驟::
Driver --> 向RM申請資源 --> 啟動AM --> 向RM申請TAsk執行的資源
|
| Job調度
|
Executors中執行Task任務
3.cluster的情形
注意點:Driver運行在nodemanager中。
然后,才會出現向下的三條虛線
Driver和Application合並
AM <====> Driver:這個地方其實就是AM,在上圖可以看見,Application Master中包含了spark的上下文,yarnCluster的調度。
流程基本和MR類似