1. 程式人生 > >3.spark運行模式

3.spark運行模式

任務管理 cimage images ogr load img ges 框架 分布式部署

spark支持的運行模式:本地模式、本地集群模式、standalone模式、yarn模式及mesos模式。

技術分享圖片

本地模式

local、local[N]或local[N,maxRetries]。主要用於代碼調試和跟蹤。不具備容錯能力,不適用於生產環境。

本地模式只有Driver,沒有Master和Worker。執行任務的Executor與Driver在同一個JVM進程中。

本地集群模式

local-cluster[N,cores,memory]。也主要用於代碼調試和測試,是源碼學習常用的模式。不具備容錯能力,不能用於生產環境。

Driver、Master與Worker運行在同一個JVM進程中。每個Worker可啟動多個Executor,每個Executor都是一個JVM進程。

Standalone模式

spark://。具備容錯能力並且支持分布式部署運行。

Driver在集群之外,可以是任意的客戶端程序。Master部署於單獨的進程,甚至在單獨的機器上,可以有多個,但只能有一個處於激活狀態。Worker部署於單獨的進程,推薦在單獨的機器上部署。

YARN模式

yarn模式是將任務管理與資源調度功能交給YARN框架進行處理的模式。分為yarn-client和yarn-cluster兩種模式。

yarn-client適用於交互、調試,希望立即看到應用的輸出;yarn-cluster適用於生產環境。

yarn-cluster模式下,driver運行在AM(ApplicationMaster)中,負責向YARN申請資源並監控作業的運行狀況。當用戶提交完作業後,就可以關閉client,作業會繼續在YARN上運行。

yarn-cluster模式不適合運行交互類型的作業。而在yarn-client模式下,AM(ApplicationMaster)僅僅向YARN請求executor,client會和請求的executor通信來調度工作,client不能離開。

技術分享圖片

技術分享圖片

Mesos模式

運行模式類似於YARN,分為client和cluster兩種模式。資源調度器分為粗粒度(默認)和細粒度(不推薦)。

3.spark運行模式