集群資源管理與調度概要


背景知識:

很多互聯網公司會有各種類型的工作任務,比如對外提供各種服務,內部的挖掘與數據管理系統。

即使內部數據系統也可能需要多種不同類型的計算系統:適應實時計算的挖掘系統。適合交互查詢的系統

或者典型的批處理任務,面對多種各具特性的計算系統與框架,比較傳統的資源管理方式采用的是靜態資源划分方法

靜態划分優點:簡單,固定的硬件資源給固定的計算框架使用,各個框架各行其是,互補干擾。

    缺點:整體資源利用率不高,經常出現集群計算系統資源不足

所以需要動態的集群資源管理與調度,這方面的研究呢處於摸索期,發展趨勢很不錯喲!

話說掌握資源並分配資源的感覺很不錯的,現實生活中我們很難實現的東東,可以在計算機當中去實現哦。

對比一下動態和靜態:

  第一:動態會根據任務即時需要分配資源,不會出現資源閑置且不可用,也不會出現任務忙且不可得資源的尷尬局面。總之

增加資源利用率,降低硬件成本。

  第二:增加數據共享能力,共用的資源存儲一份就行啦,

  第三:說白了就是支持多類型計算框架和多版本計算框架,使用資源管理與調度平台可以實現兩者平滑切換,給運營帶來便利。

資源管理抽象模型:

  資源管理與調度系統:YARN、Mesos、Corona、Quincy,從上述系統抽象兩個模型:1,資源管理與調度的概念模型。2,通用架構

  目的:通過 一定策略把資源分配給用戶提交到系統里的各種任務。

  資源:內存、cpu、網絡資源、磁盤I/O

  概念模型聚焦三要素:資源組織模型、調度策略、任務組織模型

    1,資源組織模型:組織起來方便分配,像以前吃大鍋飯一樣,有一些組織的方式如“all resource->group->pool”三級隊列,或者平級多隊列或者但隊列了等等吧。

    2,調度:熟知的FIFO、公平調度、能力調度、延遲調度等等吧,說白了就是按照什么方式分配資源。以前大躍進期間是按“分兒”分配,勞動多所得“分兒”就多。

    3,任務組織:job分配呀比如全局隊列、機架對壘、節點隊列等。說白了就是以前大躍進期間如何把活兒給組織起來,放牛的,耕地的,播種的,拔草的等等類似吧

  通用架構:

解釋一下啊:1,每台機器都有節點管理器,負責收集它所在機器的資源使用情況,分配的任務放到不同容器執行,彼此隔離開,避免job彼此干擾。

      相當於大躍進期間的組長。每一個胡同一個組長,由他負責給村長匯報任務,汗!在這里它要給資源收集器匯報任務。這個收集器在把

      相關的信息反應給資源池,資源池列出目前可用的資源

      2,通用調度器構成:資源收集起、資源調度策略,資源池,工作隊列

      3,調度策略:FIFO、公平調度、能力調度等,這家伙相當於大躍進期間村委書記,你家的牛羊糧食咋分,如何分,他說了算,汗!

        在這里系統應用者可根據具體情況設定符合業務狀況的調度策略,當用戶新提交作業時,其進入工作隊列,等着分配使其可啟動的資源。

總結:資源管理與調度說白了就是資源管理與分配,在現實生活中就是按需分配,把資源盡可能的分配到需要的job手中,

     無論是人還是計算機,采用何種分配策略,決定了你這個系統的性能問題,生活中我們常說“不患寡而患不均”,在計算機中資源管理與調度是根據具體
   場景而設定的,其實終極目的都是為了使資源分配的更加合理!依此為導向來決定分配策略會更加合理。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM