1. 程式人生 > >Spark的資源管理和排程模式

Spark的資源管理和排程模式

1.Spark-standalone

Standalone的模式下,spark的資源管理和排程是自己來管理和排程的,主要由master來管理。

2.Spark-yarn

ResourceManager

NodeManager

ApplicationMaster

Container(資源)

Task

Hadoop叢集上面 Yarn執行任務的流程:

Client提交任務給resourceManagerresourceManager會選擇一臺機器開啟一個container,在container裡面開啟一個applicationaster服務程序,applicationMaster進行任務的管理和排程,

applicationMaster會向resourceManager申請資源,resourcemanager會在其他的機器上開啟container進行資源分配。applicationMasterresourcemanager分配的資源進行任務排程,在container裡面執行taskmapreduce

Spark叢集基於yarn的時候任務的執行流程:

(1)client模式

Client提交任務給resourceManager,在提交任務的時候,在提交任務的那臺機器上面開啟一個driver服務程序,resourcemanager在接收到client提交的任務以後,在叢集中隨機選擇一臺機器分配一個

container,在該container裡面開啟一個applicationmaster服務程序,driver去找applicationmasterapplicationmaster去找resourcemanager申請資源,resourcemanager會分配container,在其中開啟excuterexcuter會反向向driver註冊,drivertask放入到excuter裡面執行。

(2)Cluster模式

Spark叢集會在叢集中開啟一個driver,此時開啟就是applicationmasterdriver合二為一了。其他的都相同。

 

注:Standaloneyarn

上執行的業務的執行流程都是相同的,只是資源的分配和管理的方式不一樣了。

3.spark-Mesos

方式類似yarn