<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分析系列1:YARN-378

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

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

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

        1. ?背景介紹

        在Hadoop分支YARN中,當用戶提交應用程序后(提交到ResourceManager上),ResourceManager首先要做的是為該應用程序申請資源以啟動它的ApplicationMaster,而ApplicationMaster啟動后,它(ApplicationMaster)負責應用程序內部任務的分解,監控、容錯等。對于每個應用程序,由于只有一個ApplicationMaster,因此ApplicationMaster存在單點故障問題,一旦ApplicationMaster死掉,則整個應用程序可能會運行失敗。當ResourceManager探測到ApplicationMaster運行失敗(通過心跳超時機制)后,它會嘗試在另外一個節點上重新啟動該ApplicationMaster,通常而言,ApplicationMaster重啟后,會恢復之前的運行狀態(前提是ApplicationMaster上次死掉之前會記錄一些日志在HDFS上),當然,這是ApplicationMaster自己的事情,ResourceManager無權干涉,ResourceManager要做的只是發現ApplicationMaster死亡后,重新為它申請資源在另外一個節點上啟動。而本文介紹的這個特性則是如何指定每個應用程序ApplicationMaster的重試次數。

        在2.1.0-beta版本之前,所有應用程序的ApplicationMaster重試次數是均是由ResourceManager決定的,管理員可通過配置參數yarn.resourcemanager.am.max-retries配置每個ApplicationMaster的重試次數,這個配置參數值適用于所有的應用程序,不可單獨對單個應用程序定制化,而這個改進正是為了解決這個問題。

        2. 解決思路

        首先需要明確的是,這個改進的目的是,讓用戶可以為自己的應用程序定制ApplicationMaster的重試次數。

        其次,這個重試次數將被兩個組件用到,分別是ResourceManager和ApplicationMaster,其中ResourceManager用于決定,是否對失敗的ApplicationMaster進行重試;ApplicationMaster用于決定,是否需要恢復上次運行時的狀態(從第二次開始恢復),以從斷點開始計算。

        通常而言,有點經驗的人,可能認為可以這樣解決問題:將用戶設置的值放到Configuration中,通過job.xml傳遞到ResourceManager和ApplicationMaster上,這樣改動是最小的。但是很遺憾,客戶端傳遞的job.xml只有ApplicationMaster會讀取,而ResourceManager不會。

        YARN 2.1.0-beta版本的解決方案如下:

        (1) 客戶端設置重試次數后,該值將被寫入ProtocolBuffer對象ApplicationSubmissionContextProto中的新增字段maxAppAttempts中(在hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/proto/yarn_protos.proto中定義);

        (2) 客戶端提交應用程序后,maxAppAttempts值會通過RPC函數傳遞給ResourceManager;

        (3)ResourceManager判斷maxAppAttempts是否為0,如果為0,則改為ResourceManager內部已經設置好全局值,由屬性arn.resourcemanager.am.max-attempts指定,默認為1;

        (4)ResourceManager為ApplicationMaster申請資源后,與對應的節點通信啟動ApplicationMaster,啟動之前,會將maxAppAttempts值通過環境變量“MAX_APP_ATTEMPTS”傳遞給它

        (5) ApplicationMaster在main函數中讀取環境變量MAX_APP_ATTEMPTS,然后開始執行。

        這樣,各個應用程序可根據實際需要單獨向用戶提供可配置AM嘗試次數的參數,比如MapReduce的參數是mapreduce.am.max-attempts,用戶設置了該參數后,參數值會經過以上5個步驟進行傳遞。

        3. ?我們學到了什么

        (1)善用環境變量傳遞信息,環境變量可由父進程傳遞給子進程;

        (2)在YARN中,代碼改動通常是鏈式的,也就是說,需要依次改動幾個組件,比如該例子中,需要一次改動client、ResourceManager和ApplicationMaster的代碼,改動代碼之前,要規劃好修改方案和估算好代碼的改動幅度;

        (3)當需要添加一種新的ApplicationMaster相關的可配置參數時,可仿照這個jira實現完成,比如,假設讓ApplicationMaster支持多種容錯機制(現在不支持),其中一種是ApplicationMaster死掉后,盡量嘗試在原節點重啟(通常,ApplicationMaster中運行的是服務時,需要這么做),而這樣改動之后,需要用戶指定應用程序采用的容錯機制類別。

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

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

        作者: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分析系列1:YARN-378

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

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 可以免费观看的国产视频| 一级特级aaaa毛片免费观看| 久久亚洲免费视频| 亚洲日韩中文无码久久| 国产成人精品免费视频大全| 亚洲国产成人久久一区久久| 免费一级全黄少妇性色生活片 | 亚洲国产精品狼友中文久久久| 色窝窝亚洲AV网在线观看| 国产乱子伦精品免费女| 麻豆安全免费网址入口| 亚洲高清免费视频| 97在线视频免费公开视频| 亚洲国产成人精品无码区在线秒播| 亚洲妇女熟BBW| 在线不卡免费视频| 亚洲AV无码久久精品成人| 精品亚洲视频在线| 午夜亚洲国产成人不卡在线| 日韩在线观看视频免费| 国产亚洲AV无码AV男人的天堂| 污污网站免费观看| 亚洲一卡2卡4卡5卡6卡残暴在线| 成全视频在线观看免费高清动漫视频下载| 亚洲午夜国产精品无码老牛影视| a级毛片在线免费| 亚洲制服在线观看| 国产成人免费福利网站| 精品一区二区三区高清免费观看 | 亚洲高清免费视频| 少妇性饥渴无码A区免费| 亚洲另类激情综合偷自拍| 毛片基地免费视频a| 免费VA在线观看无码| 亚洲bt加勒比一区二区| 午夜高清免费在线观看| 久久www免费人成精品香蕉| 亚洲欧洲日韩国产| 亚洲国产成人久久一区WWW| 182tv免费视视频线路一二三| 亚洲AV第一成肉网|