1. 程式人生 > >Spark的資源排程

Spark的資源排程

1、緒論

  在這裡插入圖片描述   上圖是Spark程式執行時的一個超級簡單的概括。我們執行一個Spark應用程式時,首先第一步肯定是寫一個Spark Application應用程式,然後呼叫資源排程器為Driver申請資源。申請成功後,向master為Application申請資源,申請完畢後,呼叫資源排程器把任務分發到節點執行。在各個節點進行分散式的平行計算。

2、前置知識

  Master裡面有幾個物件:workers、waitingDrivers、waitingApps。下面對這幾個物件做一個簡單介紹,這幾個物件是在原始碼中宣告的,如需更詳細的認知,可自行檢視看原始碼(原始碼是使用的是Scala,如需快速瞭解,請參考《

Scala快速學習》)。

val works = new HashSet[WorkInfo]()
val waitingDrivers = new ArrayBuffer[DriverInfo]()
val waitingApps = new ArrayBuffer[ApplicationInfo]()

  在上面的程式碼中,WorkInfo代表的是work節點的節點資訊。DriverInfo是Driver傳送過來的請求資訊。ApplicationInfo是傳送過來的Application的資訊。   val works = new HashSetWorkInfo

3、流程圖

4、詳細步驟