Spark基於Yarn的兩種提交模式原理分析

Spark的三種提交模式

1.standalone模式,基於Spark自己的Master-Worker模式

2.基於YARN的yarn-cluster模式

3.基於YARN的yarn-client模式

yarn-cluster模式講解

1.用spark-submit提交(yarn-cluster)

2.發送請求到Yarn集羣的ResourceManager,請求啓動ApplicationMaster(這裏的AM相當於是一個Driver)

3.ResourceManager接收到請求以後,會分配一個contaier,在某個nodemanager上啓動ApplicationMaster

4.ApplicationMaster啓動以後與ResourceManager通信,請求container,啓動executor

5.ResourceManager分配一批container,用於啓動executor

6.ApplicationMaster這時又會去找其他的NodeManager,去啓動executor,這裏的NM相當於Worker

7.executor啓動後,向AM反向註冊

yarn-client模式講解

1.用spark-submit提交(yarn-client)

2.發送請求給RM,請求啓動AM

3.RM分配一個container,在某個NM上啓動AM,但是這裏的AM,其實只是一個ExecutorLauncher

4.ExecutorLauncher與RM通信,申請container,啓動executor

5.RM分配一批container,然後AM連接其他NM,用container的資源,啓動executor

6.NodeManager上的executor啓動以後,會反向註冊到本地的Driver上,這也是和yarn-cluster的區別

yarn-cluster模式與yarn-client模式對比

1.yarn-client用於測試,因爲driver運行在本地客戶端,負責調度application,會與yarn集羣產生超大量的網絡通信,會導致網卡流量激增

2.yarn-cluster,用於生產環境,因爲dirver運行在nodemanager,沒有網卡流量激增的問題,缺點是調試不方便

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章