spark 三種部署模式的區別對比


在這三種部署模式中,standalone作為spark自帶的分布式部署模式,是最簡單也是最基本的spark應用程序部署模式,這里就不再贅述。這里就講一下yarn和mesos的區別:

(1) 就兩種框架本身而言,mesos上可部署yarn框架。而yarn是更通用的一種部署框架,而且技術較成熟。

(2) mesos雙層調度機制,能支持多種調度模式,而Yarn通過Resource Mananger管理集群資源,只能使用一種調度模式。Mesos 的雙層調度機制為:mesos可接入如yarn一般的分布式部署框架,但Mesos要求可接入的框架必須有一個調度器模塊,該調度器負責框架內部的任務調度。當一個framework想要接入mesos時,需要修改自己的調度器,以便向mesos注冊,並獲取mesos分配給自己的資源, 這樣再由自己的調度器將這些資源分配給框架中的任務,也就是說,整個mesos系統采用了雙層調度框架:第一層,由mesos將資源分配給框架;第二層,框架自己的調度器將資源分配給自己內部的任務。

(3) mesos可實現粗、細粒度資源調度,可動態分配資源,而Yarn只能實現靜態資源分配。其中粗粒度和細粒度調度定義如下:
  粗粒度模式(Coarse-grained Mode):程序運行之前就要把所需要的各種資源(每個executor占用多少資源,內部可運行多少個executor)申請好,運行過程中不能改變。
  細粒度模式(Fine-grained Mode):為了防止資源浪費,對資源進行按需分配。與粗粒度模式一樣,應用程序啟動時,先會啟動executor,但每個executor占用資源僅僅是自己運行所需的資源,不需要考慮將來要運行的任務,之后,mesos會為每個executor動態分配資源,每分配一些,便可以運行一個新任務,單個Task運行完之后可以馬上釋放對應的資源。每個Task會匯報狀態給Mesos slave和Mesos Master,便於更加細粒度管理和容錯,這種調度模式類似於MapReduce調度模式,每個Task完全獨立,優點是便於資源控制和隔離,但缺點也很明顯,短作業運行延遲大。
  從yarn和mesos的區別可看出,它們各自有優缺點。因此實際使用中,選擇哪種框架,要根據本公司的實際需要而定,可考慮現有的大數據生態環境。如我司采用yarn部署spark,原因是,我司早已有較成熟的hadoop的框架,考慮到使用的方便性,采用了yarn模式的部署。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM