Spark1 3從建立到提交 4 資源分配原始碼分析

2021-07-25 17:33:49 字數 678 閱讀 9975

spark提供了2種資源分配的策略,一種是盡量分散(spreadout,預設),一種是盡量集中,具體看下這個master.schedule方法(原始碼位置555行)

val usableworkers = workers.toarray.filter(_.state == workerstate.alive)

//可用worker節點的長度

val numusable = usableworkers.length

val assigned = new array[int](numusable)

var pos = 0

while (toassign > 0)

pos = (pos + 1) % numusable //迴圈列表

} for (pos

} }

//當前worker節點可用並且可用核心數大於0

for (worker 0 && worker.state == workerstate.alive)

}} }

下面比較這2種策略

分散策略:不斷地輪詢可用的worker節點,每次分別請求分別1個核心數,直至滿足其需求。

Spark從入門到精通

spark從入門到精通 一 什麼是spark 大資料計算框架 離線批處理 大資料體系架構圖 spark spark包含了大資料領域常見的各種計算框架 比如spark core用於離線計算,spark sql用於互動式查詢,spark streaming用於實時流式計算,spark mlib用於機器學...

Spark從入門到精通 一 Spark架構

spark與mapreduce的區別 都是分布式計算框架,spark基於記憶體,mr基於hdfs。spark處理資料的能力一般是mr的十倍以上,spark中除了基於記憶體計算外,還有dag有向無環圖來切分任務的執行先後順序。spark主要分為三大部分 sparkcore 對非結構化資料的處理,rdd...

spark從入門到放棄十五 master 主備切換

master實際上可以配置兩個,那麼spark原生的standalone模式是支援master主備切換的。也就是說,當active master節點掛掉時,可以將standby master節點切換為active master。spark master主備切換可以基於兩種機制,一種是基於檔案系統的,...