MapReduce作業的調度

MapReduce作業的調度
歷史發展:
按照作業的提交順序執行,即先進先出(FIFO)調度算法來運行作業;
存在的問題,一些阻塞型任務會持續佔有資源,使得任務無法進行。可以類似單線程相對於多線程存在的阻塞問題。
作業優先級調度算法;
存在的問題:優先級不支持搶佔,仍然存在上一個算法的阻塞問題;
MapReduce的調度器
當前的使用的默認作業調度算法,多用戶的調度器,分別爲公平調度器和容量調度器。
公平調度器
目標就是讓每個用戶公平共享集羣
當只有一個任務時,這個任務就會佔有集羣全部的資源。新增加一個任務時,會分配時間片來執行此任務。每個任務佔有一半的集羣資源。每增加一個任務,就會重新分配集羣資源。這個特性讓小作業在合理的時間內完成的同時又不“餓”到消耗較長時間的大作業。
改進點1:可以用map和reduce的任務槽數來定製作業池的最小容量,也可以設置每個池的權重
改進點2:支持搶佔機制;如果一個池在特定的時間內未能完成公平資源的共享,就會終止佔有大量的作業任務,把資源分配到佔有資源較小的作業任務。
容量調度器
採用的機制:集羣有多個隊列組成,在每個隊列內部,作業根據FIFO(依靠優先級決定)進行調度;
本質上:容量調度器允許用戶或組織爲每個用戶或組織模擬出一個FIFO調度策略的獨立MapReduce集羣。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章