<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Hadoop新特性、改進、優化和Bug分析系列3:YARN-392

        來源:懂視網 責編:小采 時間:2020-11-09 13:21:48
        文檔

        Hadoop新特性、改進、優化和Bug分析系列3:YARN-392

        Hadoop新特性、改進、優化和Bug分析系列3:YARN-392:作者: Dong | 新浪微博: 西成懂 | 可以轉載, 但必須以超鏈接形式標明文章原始出處和作者信息及版權聲明 網址:http://dongxicheng.org/mapreduce-nextgen/hadoop-jira-yarn-392/ 本博客的文章集合:http://dongxicheng.org/rec
        推薦度:
        導讀Hadoop新特性、改進、優化和Bug分析系列3:YARN-392:作者: Dong | 新浪微博: 西成懂 | 可以轉載, 但必須以超鏈接形式標明文章原始出處和作者信息及版權聲明 網址:http://dongxicheng.org/mapreduce-nextgen/hadoop-jira-yarn-392/ 本博客的文章集合:http://dongxicheng.org/rec

        背景介紹

        在YARN中,用戶提交應用程序后,對應的ApplicationMaster負責將應用程序的資源需求轉化成符合特定格式的資源請求,并發送給ResourceManager。一旦某個節點出現空閑資源,ResourceManager中的調度器將決定把這些空閑資源分配給哪個應用程序,并封裝成Container返回給對應的ApplicationMaster。ApplicationMaster發送的資源請求(ResourceRequest)形式如下(具體可閱讀我的這篇文章:YARN/MRv2 ResourceManager深入解析–ContainerAllocator解析):

        其中,Priority為資源的優先級、HostName是期望資源所在的節點,可以為節點host名、節點所在rack名或者*(任何節點均可以),Resource為資源量,#Container為滿足上述三個屬性的資源個數。

        在2.1.0-beta版本之前,通過以上描述無法申請到這樣的資源,比如“只給我節點Node1上的資源,其他節點上的不要”或者“只給我機架rack1上的資源,其他機架上的不要”,這是因為ResourceScheduler(參考我的這篇文章:YARN/MRv2 ResourceManager深入解析–ResourceScheduler解析)自帶的delay Scheduling機制導致的,這個機制來自于MapReduce架構,這個機制進一步表現了YARN是直接從MapReduce演化而來的,它對MapReduce天生的支持,而對其他框架不友好。Delay scheduling機制是為了提高數據本地性提出的,它的基本思想是,當一個節點出現空閑資源時,調度器按照調度策略應將該資源分配給job1,但是job1沒有滿足locality的任務,考慮到性能問題,調度器暫時跳過該作業,而將空閑資源分配給其他有locality任務的作業,今后集群出現空閑資源時,job1將一直被跳過,知道它有一個滿足locality的任務,或者達到了管理員事先配置的最長跳過時間,這時候不得不將資源分配給job1(不能讓人家再等了啊,親)。從上面描述可知道,ApplicationMaster申請的node1上的資源,最終可能得到的是node2上的資源,這在某些應用場景下,是不允許如此操作的。

        解決方案

        在這個Jira鏈接中,經過討論后,產生了兩種可行方案,分別是:

        【方案1】:為每個ResourceRequest添加一個bool類型變量relaxLocality以表明是否為該資源請求啟動delay scheduling機制,默認是true,表示啟用。舉例說明:當應用程序申請rack1上node1節點上的資源時,需將rack1和ANY資源的relaxLocality值置為false,同樣,當申請rack1上的資源時,需將ANY資源的relaxLocality值置為false。換句話說,某個應用程序的rack1資源請求的relaxLocality設為false的含義是YARN不會為該應用程序的分配rack1上的任何資源,直到它接下來請求rack1上的某個節點或者某些節點上的資源。

        【方案2】:該方案提出將delay scheduling的延遲時間(指上面的最長跳過時間)配置下放給各個Application,而不是由管理員配置一個全局的值。這樣,當需要某個節點或者機架上的資源時,只需將對應的延遲時間設置為無限大即可,同樣可以巧妙的完成所需功能。

        對比兩種方案,感覺實現上難度和復雜度差不多,但實際上,第2種方案更加復雜:ResourceManager需要為每個ResourcRequest中的node和rack增加一個超時監控器(之前每個application有一個就行),且每次發送新的ResourceRequest后,ResourceManager需要進行較為復雜的邏輯進行資源合并和存放。相比之下,方案1則簡單得多,不需要修改太多代碼,不會引入過多的復雜邏輯,考慮到2.1.0-beta版本發布在即,采用方案1是明智之選。但需要注意的是,該jira并沒有解決所有的資源請求語義表達方面的需求,很多語義仍不能表達出來,比如,“應用程序需要同時申請一組資源,這些資源必須同時滿足應用程序才能運行”;“應用程序需要一個集合中的任何一個資源,只要獲得了任何一個資源,則其他資源就不需要了”等等。

        這個jira可看做實現了一個應用程序為自己添加資源白名單的需求,也就是說,只有滿足某些條件的資源才分配給自己;而YARN-750則是應用程序申請將某些節點加入自己的黑名單中,此后不要為自己分配這幾個節點上的資源,該功能有很多應用場景,比如在MapReduce中,當一個作業在某個節點失敗的任務數據過多時,作業會將該節點加入到自己的黑名單中,此后不會再在這個節點上運行任務。

        我們學到了什么?

        (1) 實現一個龐大無邊的功能時,在未搞清全局問題前,最好先易后難的解決問題。該jira只是YARN-397中的一個子問題,YARN-397的主題是為ResourceManager Scheduler增加新的API,以支持各種語義的資源調度,比如gang-scheduling(同時申請一組資源,參考:YARN-624)、deadline-scheduling(在規定時間內分配資源)等,這方面的需求伴隨著各種應用而生,需要從各種應用程序需求中抽取出更全面的調度模型和語義表達模型。

        (2)YARN調度器是一個resource-centric調度器,調度時間復雜度是O(number of nodes),而JobTracker調度器是一個task-centric調度器,調度時間復雜度是O(number of tasks),在設計YARN調度策略時,一定要牢記這一點,這是保證YARN高擴展性的前提,切莫混淆了這兩種調度。

        (3)YARN的調度語義在不斷的演化,沒有盡頭。應用程序可能有各種各樣的資源需求,比如需要同時獲得一組資源(少一個都不行)、需要獲取來自同一個rack上的資源等,這些通常是從無數類型的應用程序需求中抽象出來的,需要在不斷歸納和抽象中提取,是一個漫長的路。

        原創文章,轉載請注明: 轉載自董的博客

        本文鏈接地址: http://dongxicheng.org/mapreduce-nextgen/hadoop-jira-yarn-392/

        作者:Dong,作者介紹:http://dongxicheng.org/about/

        本博客的文章集合:http://dongxicheng.org/recommend/


        Copyright © 2013
        This feed is for personal, non-commercial use only.
        The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
        )

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Hadoop新特性、改進、優化和Bug分析系列3:YARN-392

        Hadoop新特性、改進、優化和Bug分析系列3:YARN-392:作者: Dong | 新浪微博: 西成懂 | 可以轉載, 但必須以超鏈接形式標明文章原始出處和作者信息及版權聲明 網址:http://dongxicheng.org/mapreduce-nextgen/hadoop-jira-yarn-392/ 本博客的文章集合:http://dongxicheng.org/rec
        推薦度:
        標簽: bug 系列 分析
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 中文字幕在线观看免费| 久久人午夜亚洲精品无码区| www免费黄色网| 无码专区一va亚洲v专区在线 | 日本一区二区在线免费观看| 国产一级淫片视频免费看| 亚洲成av人在线观看网站| 永久黄网站色视频免费| 精品国产_亚洲人成在线| 亚洲女同成人AⅤ人片在线观看| 深夜A级毛片视频免费| 亚洲日韩一页精品发布| 久久精品视频免费| 亚洲中字慕日产2021| 91视频国产免费| 国产成人精品久久亚洲高清不卡 | 丝袜足液精子免费视频| 亚洲国产精品无码av| 最近中文字幕mv免费高清视频8 | 亚洲成av人片在www鸭子| 国产一级淫片免费播放电影| 一本一道dvd在线观看免费视频| 亚洲午夜久久久久久久久电影网 | 国产成人亚洲精品| 免费h黄肉动漫在线观看| 久久久久久噜噜精品免费直播| 亚洲精品在线观看视频| 毛片免费观看网址| 免费人成再在线观看网站| 亚洲∧v久久久无码精品| 成人免费福利视频| 免费精品国产自产拍在线观看 | 深夜A级毛片视频免费| 亚洲va在线va天堂va888www| 两个人的视频高清在线观看免费| 无码日韩人妻AV一区免费l| 色播亚洲视频在线观看| 国产成人啪精品视频免费网| 久久青青草原国产精品免费| 亚洲精品色播一区二区 | 国产亚洲福利精品一区|