MapReduce作業的排程
阿新 • • 發佈:2018-11-04
MapReduce作業的排程
歷史發展:
①按照作業的提交順序執行,即先進先出(FIFO)排程演算法來執行作業;
存在的問題,一些阻塞型任務會持續佔有資源,使得任務無法進行。可以類似單執行緒相對於多執行緒存在的阻塞問題。
②作業優先順序排程演算法
存在的問題:優先順序不支援搶佔,仍然存在上一個演算法的阻塞問題;
③MapReduce的排程器;
當前的使用的預設作業排程演算法,多使用者的排程器,分別為公平排程器和容量排程器。
Ⅰ公平排程器(可以同時執行幾個任務):
目標就是讓每個使用者公平共享叢集;
當只有一個任務時,這個任務就會佔有叢集全部的資源。新增加一個任務時,會分配時間片來執行此任務。每個任務佔有一半的叢集資源。每增加一個任務,就會重新分配叢集資源。這個特性讓小作業在合理的時間內完成的同時又不“餓”到消耗較長時間的大作業。
改進點1:可以用map和reduce的任務槽數來定製作業池的最小容量,也可以設定每個池的權重。
改進點2:支援搶佔機制;如果一個池在特定的時間內未能完成公平資源的共享,就會終止佔有大量的作業任務,把資源分配到佔有資源較小的作業任務。
Ⅱ容量排程器
採用的機制:叢集有多個佇列組成,在每個佇列內部,作業根據FIFO(依靠優先順序決定)進行排程
本質上:容量排程器允許使用者或組織為每個使用者或組織模擬出一個FIFO排程策略的獨立MapReduce叢集。
---------------------
作者:heishu007 (自己的CSDN)
來源:CSDN
原文:https://blog.csdn.net/heishu007/article/details/70272183