日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop详解(十):Hadoop 作业调度机制

發布時間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop详解(十):Hadoop 作业调度机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hadoop 作為一個分布式計算平臺,從集群計算的角度分析,Hadoop可以將底層的計算資源整合后統一分配到集群中的計算節點,從而達到分布式和并行計算的目的,最終完成任務的高效執行。在調度機制中涉及的三個核心問題:

  • 計算資源的組織
  • 用戶作業的選擇
  • 任務的分配策略
  • 在目前的Hadoop 系統中,默認的調度器為FIFO調度,主要適合單隊列的批處理作業需求,針對多用戶多隊列的控制需求,雅虎開發并且向開源社區貢獻了容量調度器(Capacity Scheduler)和Facebook開發并貢獻了公平調度器(FAIR Scheduler)。

    1. 作業調度概述

    1.1 作業調度相關概念

    • 作業管理:在調度系統中作業管理包括作業提交權限控制,作業運行狀態查看權限控制等。
    • 用戶和分組:在Hadoop系統中以組為單位組織管理作業,每個用戶只能向固定分組中提交作業,只能使用固定分組中配置的資源。同時可以限制每個用戶提交的作業數、使用的資源等。
    • 資源池:是Hadoop公平調度Fiar Scheduler中的概念,一個資源池可以對應一個用戶(User)、一個分組(Group)、或者一個隊列(Queue)。
    • 隊列:隊列是Hadoop中提出的概念,一個隊列(Queue)可以由任意幾個分組(Group)和任意幾個用戶(User)組成。
    • 資源槽位:是Hadoop分布式系統進行資源管理的基本單位,是集群計算資源的抽象化,每個資源槽位都代表可以運行的一個任務(Map任務和Reduce任務)。Hadoop集群中的每個計算節點都擁有一定數量的資源槽,具體數目需要每個用戶依據每個節點的內存、CPU等信息確定并配置,默認每個節點兩個資源槽位,表示每個計算節點可以并發運行兩個任務
    • 作業調度和任務調度:第一級是作業調度,也就是作業選擇,作業調度器選取作業集合中的一個等待調度的作業。第二級是任務調度,也就是任務分配,由任務調度器在第一級選擇的作業中選取一個就緒的任務來運行。
    • 心跳:主節點負責管理所有從節點的資源,而這種管理是通過主從節點之間的心跳信息來互相通信的,也就是從節點定時向主節點發送狀態信息————心跳信息來報告自己當前的狀況
    • 本地化資源和非本地化資源:待調度資源的作業集合中有一個作業至少存一個任務的代處理數據存位于該計算節點上,那么就可以稱為這個計算節點是這個作業的本地化資源。
    • 本地化調度和非本地化調度

    1.2 作業調度流程

  • Client 通過submitJob()函數向JobTracker提交一個作業。
  • JobTacker接收到用戶的作業提交后會通過notify()函數通知調度器TaskScheduler有新作業
  • TaskTracker通過heartbeat心跳機制向JobTacker匯報TaskTracker的資源情況,JobTreacker同時獲取TaskTrackerStatus信息,如果TaskTracker資源是空閑的,則主動向JobTracker請求分配任務。
  • JobTracker根據對TaskTracker資源的管理情況,請求調度器TaskScheduler分配作業,TaskScheduler根據對應的資源情況和任務數量,分配作業列表返回給JobTracker。
  • JobTracker接收到分配的作業列表,再通過HeartBeat心跳信息將任務分發給具體的TaskTracker,最終啟動Task任務完成作業。
  • 1.3 集群資源組織和管理

    Hadoop系統作業調度是以計算槽位slot來組織集群計算資源的,計算槽位可以認為是Hadoop集群中計算資源的抽象,是集群資源管理的基本單位,計算槽位slot資源包括兩種類型:Map slot和Reduce Slot

    2. FIFO 調度器

    FIFO調度器是Hadoop默認的調度器,其調度策略簡單,容易實現,并且調度效率最高。

    2.1 基本調度策略

    類似于Linux操作系統中的FIFO先進先出進程調度算法,Hadoop FIFO調度器的調度策略是將用戶提交的作業按照先后順序放在一個隊列中,然后依據先后順序和優先級順序被依次調度執行,整體上遵循先進先出基本原則。

    FIFO調度策略遵循以下基本原則:

    • 所有用戶提交的作業會統一按照提交的先后順序排列在同一個隊列中。
    • 支持優先級,包括VERY_HIGH、HIGH、NORMAL、LOW、VERY_LOW
    • 在優先級相同的情況下,按照先來先服務的模式調度執行。
    • 在優先級不同的情況下,優先級高的作業仙貝調度執行。

    FIFO調度器有三種基本情況:

  • 隊列中只有一個作業時直接調度執行,如上圖a只有一個Job1,則調度器JobQueueTaskSchedule直接將Job1調度分配給集群的計算節點TaskTracker執行;
  • 用戶在Job1之后先后提交了Job2和Job3,并且Job2和Job3的優先級是相同的。這個時候先運行Job2,然后再運行Job3
  • 用戶在Job1之后先后提交了Job2和Job3,而Job3的優先級比Job2的優先級高,那么Job1運行完成之后,先調度Job3然后調度Job1.
  • 總結:FIFO調度器邏輯設計簡潔,對于單用戶集群系統來講比較適合,同時系統利用率高,響應時間也很短,但是對于多用戶共享集群資源的情況下就會出現不能區別不同用戶、不同作業類型的情況。

    2.2 任務分配算法

  • 獲取當前TaskTracker的Map和Reduce數量信息
  • 計算需要運行的Map和Reduce的數量(也就是處于正在運行狀態和掛起狀態的)
  • 計算Map和Rduce的負載因子:負載因子表示整個集群的負載情況,很明顯,負載因子越大集群的負載越高,隨著任務的執行集群負載會減少,而用戶也會不斷地向隊列中提交作業,這樣集群整個負載因子又會增加,因此在實際的集群環境中比較高效的狀態是負載因子維持在一個動態的范圍之內。
  • 計算tasktracker當前Map容量以及最大可分配的Map任務數量,然后調度分配map任務。
  • 計算tasktracker當前Reduce容量以及最大可分配的reduce任務數量,然后調度分配reduce任務。
  • 3. 公平調度器

    FIFO調度器的問題:FIOF調度器不支持多個隊列,也不支持多個用戶共享集群,這樣就造成了集群資源利用率過低,對于不同類型的作業不能保證公平調度器等問題,公平調度器FairScheduler就這樣產生了。

    3.1 主要功能

    • 實現了類似Linux內核的Fair-Share調度算法,以保證各個作業基本上能公平共享整個集群的資源。
    • 支持多用戶、多隊列和劃分資源池。
    • 支持資源池最小共享保證和最大作業限制。
    • 共享權重可分配:通過調整共享權重使得高優先級作業、大作業共享更多的資源。
    • 支持資源搶占:當一個資源池有空閑資源槽時,調度器會將其共享給需要資源調度的資源池。
    • 實現了延遲調度:延遲調度機制可以調數據本地任務的效率。

    3.2 基本調度策略

    公平調度策略的核心概念是隨著時間的推移能平均獲取同等的共享資源。當單獨一個作業任務運行時,它將使用整個集群;當有其他作業被提交時,系統會將任務(task)空閑時間片(slot)賦給新的作業,以使得每一個作業都能獲取等量的CPU時間。

    公平調度器中有一個資源池pool的概念,并通過資源池來組織作業,把資源公平地分配到這些資源池里面。在默認的情況下,每一個用戶都擁有一個獨立的資源池,以使得每一個用戶都能獲取一份同等的集群資源而不管其提交了多少作業。

    在每一個資源池內,會使用公平共享的方式在運行的作業間共享資源。用戶可以給予資源池相應的權重,以不按比例的方式共享集群。除了提供公平共享的方法之外,公平調度器允許賦給資源池以保證最小的共享資源。

    公平調度器也支持在可配置的超時時間后對允許的作業進行搶占。如果新的作業在一定時間內還獲取不到最小的共享資源,這個作業別允許去終結已運行的作業中任務以獲取運行所需要的資源。

    4. 容量調度器

    容量調度器是雅虎結合自己的集群業務類型,提出的一種多用戶調度器,這種調度器支持多用戶、多隊列,每一個隊列都可以單獨配置一定的資源量,每個隊列采用FIFO策略,可以看做是FIFO調度器的多隊列版本。

    4.1 產生背景

    公平調度器強調的是各個作業的公平共享原則,主要是保證資源池之間以公平地共享整個集群資源,然而整個集群的資源利用率的角度來看,公平調度并不能保證整個集群的資源的利用率最高,也就是雖然各種作業對資源的使用可以達到公平地原則,保證用戶都可以公平地分享整個集群的資源,但是仍然存在計算資源利用率不高的問題,容量調度器就是用來解決這個問題。

    在容量調度器中,每個作業被提交到一個隊列中,每個隊列分配整個集群資源的容量(capacity)的一定比例,隊列中的作業以FIFO的方式占用整個隊列分配的資源(capacity)。調度的基本策略是首先選擇一個容量capacity實際占用率最低的隊列,這樣最需要資源的隊列優先調度,然后從FIFO隊列中選擇一個合適的作業。

    4.2 主要功能

    • 支持多用戶多隊列
    • 層次化隊列機制
    • 資源容量保證
    • 作業權限控制
    • 彈性資源分配
    • 運行時的控制功能
    • 基于資源的調度
    • 作業內存控制
    • 延遲調度機制

    4.3 基本調度策略

    容量調度器的計算能力調度示意圖如下:假定Hadoop集群中有100個計算資源槽位。調度器中配置了隊列P和隊列S,隊列P中配置容量為60;S隊列中配置容量為40。P中隊列最小配額為50%,也就是P隊列中可以同時運行兩個作業,每個作業分配30個計算資源;S隊列中最小配額為25%,也就是可以同時運行4個作業。在隊列之間也會共享空閑的計算資源。容量調度算法中最重要的就是在選擇作業的時候,會關注作業所屬的用戶是否已經超過了他所能使用的計算資源限制。

    容量調度器還可以有效地對集群中資源中的內存資源進行管理,從而可以有效的支持內存密集型作業。如果一個作業對內存的資源需求比較高,那么調度算法就要保證將該作業的相關任務分派到具有充足內存資源的TaskTacker上執行,已避免由于內存不足造成無法執行。因此,在作業選擇的過程中,計算能力調度算法還需要檢查空閑TaskTracekr上的內存資源是否能夠滿足作業的內存需求。

    總結

    以上是生活随笔為你收集整理的Hadoop详解(十):Hadoop 作业调度机制的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 毛片福利视频 | 日本视频h | 亚洲另类自拍 | 九九久久国产 | 91黄色影视 | 国内精品一区二区 | 亚洲图片小说区 | 国产精品黄网站 | 久久天天躁狠狠躁夜夜躁 | 亚洲天堂手机在线观看 | 黄色一级片免费观看 | 黄色三级大片 | 有机z中国电影免费观看 | 六月婷婷激情 | 免费激情网 | 91天天射 | 日韩欧美在线一区二区三区 | 鲁一鲁av | 日本成人免费视频 | 国产精品精品软件视频 | 蜜桃网站| 91黄版| 日韩毛片一级 | 欧美一级淫片bbb一84 | 麻豆最新 | 免费在线观看一区二区 | 深夜视频在线免费 | 伊人成人在线 | 四十路av| 欧美午夜精品一区二区 | 日韩成人午夜 | 性一交一乱一区二区洋洋av | 欧美一区二区在线视频观看 | 国产剧情一区二区三区 | 在线毛片观看 | 日韩欧美电影一区二区三区 | 日韩欧美视频在线播放 | 网爆门在线 | 人妻视频一区二区三区 | 国产欧美日韩精品区一区二污污污 | 免费的黄色一级片 | 欧美成人性色 | 亚洲人人干 | 日产av在线 | 成人性生交大片免费看 | 在线看片你懂得 | 日韩男人的天堂 | 久草成人在线视频 | 中文字幕人妻熟女人妻a片 麻豆91视频 | 日韩男人的天堂 | 538精品在线视频 | 亚洲不卡视频在线观看 | 美女高潮黄又色高清视频免费 | 极品粉嫩小仙女高潮喷水久久 | 伊人精品在线 | 亚洲天堂热 | 欧美一区二区不卡视频 | 天天摸日日摸 | 国产91影院 | 国产又猛又黄 | 日韩sese| 欧美99久久精品乱码影视 | 18av视频 | 九九视频在线免费观看 | 女同久久另类69精品国产 | 99免费在线视频 | 免费无码国产精品 | 人人看超碰 | 欧美大胆a视频 | www日本高清视频 | 欧美黄色小视频 | 国产人与禽zoz0性伦 | 丁香花电影免费播放在线观看 | 日韩欧美三级视频 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 黄色高清免费 | 国产又粗又猛又爽又黄的视频小说 | 日韩精品一区二区在线观看 | 欧美国产精品一二三 | 中文字幕在线欧美 | 国产情侣呻吟对白高潮 | 国产精品久久久久久久妇 | 九九综合 | 玖玖爱这里只有精品 | 麻豆91在线观看 | 福利资源在线观看 | 中文字幕永久在线视频 | 国产又大又黄又粗 | 久久精品国产露脸对白 | av高清在线观看 | 日日夜夜国产精品 | 国产免费无码一区二区视频 | 黑人巨大猛烈捣出白浆 | av激情在线观看 | 丰满少妇高潮一区二区 | 亚洲女人18毛片水真多 | 激情综合六月 | 亚洲熟女少妇一区二区 | 国产aⅴ精品一区二区果冻 台湾性生生活1 |