本篇文章給大家分享的是有關(guān)如何進行spark on yarn 的資源調(diào)度器設(shè)置.,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁設(shè)計師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁設(shè)計技術(shù)配合操作的協(xié)同工作。創(chuàng)新互聯(lián)專業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗的提升,我們力求做到極致!最近一段時間 發(fā)現(xiàn)了一個問題. 就是即便在整個集群 不忙的時候, 也會某幾個節(jié)點, 會被spark on yarn 的任務(wù)跑滿.
而不是把任務(wù)均勻的分配到到多幾個節(jié)點上.
百思不解.
于是開始各個方面的調(diào)查. 從spark 方面沒有發(fā)現(xiàn)什么問題. 回過頭來看yarn .
發(fā)現(xiàn)原來使我們的資源調(diào)度的配置上有點問題.
The ResourceCalculator implementation to be used to compare
Resources in the scheduler.
The default i.e. DefaultResourceCalculator only uses Memory while
DominantResourceCalculator uses dominant-resource to compare
multi-dimensional resources such as Memory, CPU etc.
問題就出在這里了. default 調(diào)度器, 只關(guān)注node 的內(nèi)存 情況, 根據(jù)內(nèi)存情況來分派任務(wù).
這就是導致, 如果一個spark 任務(wù)向yarn 申請container 的時候, yarn 只關(guān)注了 某幾個點的內(nèi)存情況.
如果內(nèi)存滿足 spark 的要求, 就可能把所有的container 都分派到一個node 去,導致這個node 節(jié)點 負載飚高.
比如 spark 申請 10個 1g 內(nèi)存的container . 然后 yarn 發(fā)現(xiàn)有2個節(jié)點 各有5g 空閑內(nèi)存, 但是卻只有3個cpu 空閑.
那么可能就會只有這倆node 來跑這10個container , 而不是把10個container 分配到10個node上去.
然后就出現(xiàn)我們前面說的情況. 內(nèi)存充足但是cpu不足. 導致spark 的container 只有3個在運行. 另外倆個要等待 .
這也符合我們前面看到的現(xiàn)象.
以上就是如何進行spark on yarn 的資源調(diào)度器設(shè)置.,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。