国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Hadoop的YARN資源管理系統

汽車玩家 ? 來源:今日頭條 ? 作者:不一樣的程序猿 ? 2020-03-15 17:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.YARN

本質上是資源管理系統。YARN提供了資源管理和資源調度等機制

1.1原 Hadoop MapReduce 框架

對于業界的大數據存儲及分布式處理系統來說,Hadoop 是耳熟能詳的卓越開源分布式文件存儲及處理框架,對于 Hadoop 框架的介紹在此不再累述,讀者可參考 Hadoop 官方簡介。使用和學習過老 Hadoop 框架(0.20.0 及之前版本)的同仁應該很熟悉如下的原 MapReduce 框架圖:

1.2Hadoop 原 MapReduce 架構

Hadoop的YARN資源管理系統

從上圖中可以清楚的看出原 MapReduce 程序的流程及設計思路:

首先用戶程序 (JobClient) 提交了一個 job,job 的信息會發送到 Job Tracker 中,Job Tracker 是 Map-reduce 框架的中心,他需要與集群中的機器定時通信 (heartbeat), 需要管理哪些程序應該跑在哪些機器上,需要管理所有 job 失敗、重啟等操作。

TaskTracker 是 Map-reduce 集群中每臺機器都有的一個部分,他做的事情主要是監視自己所在機器的資源情況。

TaskTracker 同時監視當前機器的 tasks 運行狀況。TaskTracker 需要把這些信息通過heartbeat 發送給 JobTracker,JobTracker 會搜集這些信息以給新提交的 job 分配運行在哪些機器上。上圖虛線箭頭就是表示消息的發送 - 接收的過程。(JobTracker 一個很大的負擔就是監控 job 下的 tasks 的運行狀況)

可以看得出原來的 map-reduce 架構是簡單明了的,在最初推出的幾年,也得到了眾多的成功案例,獲得業界廣泛的支持和肯定,但隨著分布式系統集群的規模和其工作負荷的增長,原框架的問題逐漸浮出水面,主要的問題集中如下:

JobTracker 是 Map-reduce 的集中處理點,存在單點故障。

JobTracker 完成了太多的任務,造成了過多的資源消耗,當 map-reduce job 非常多的時候,會造成很大的內存開銷,潛在來說,也增加了 JobTracker fail 的風險,這也是業界普遍總結出老 Hadoop 的 Map-Reduce 只能支持 4000 節點主機的上限。

在 TaskTracker 端,以 map/reduce task 的數目作為資源的表示過于簡單,沒有考慮到 cpu/ 內存的占用情況,如果兩個大內存消耗的 task 被調度到了一塊,很容易出現 OOM。

在 TaskTracker 端,把資源強制劃分為 map task slot 和 reduce task slot, 如果當系統中只有map task 或者只有 reduce task 的時候,會造成資源的浪費,也就是前面提過的集群資源利用的問題。

源代碼層面分析的時候,會發現代碼非常的難讀,常常因為一個 class 做了太多的事情,代碼量達 3000 多行,,造成 class 的任務不清晰,增加 bug 修復和版本維護的難度。

從操作的角度來看,現在的 Hadoop MapReduce 框架在有任何重要的或者不重要的變化 ( 例如 bug 修復,性能提升和特性化 ) 時,都會強制進行系統級別的升級更新。更糟的是,它不管用戶的喜好,強制讓分布式集群系統的每一個用戶端同時更新。這些更新會讓用戶為了驗證他們之前的應用程序是不是適用新的 Hadoop 版本而浪費大量時間。

1.3新 Hadoop Yarn 框架原理及運作機制

從業界使用分布式系統的變化趨勢和 hadoop 框架的長遠發展來看,MapReduce 的JobTracker/TaskTracker 機制需要大規模的調整來修復它在可擴展性,內存消耗,線程模型,可靠性和性能上的缺陷。在過去的幾年中,hadoop 開發團隊做了一些 bug 的修復,但是最近這些修復的成本越來越高,這表明對原框架做出改變的難度越來越大。

為從根本上解決舊 MapReduce 框架的性能瓶頸,促進 Hadoop 框架的更長遠發展,從 0.23.0 版本開始,Hadoop 的 MapReduce 框架完全重構,發生了根本的變化。新的 Hadoop MapReduce 框架命名為 MapReduceV2 或者叫 Yarn,其架構圖如下圖所示:

圖 2. 新的 Hadoop MapReduce 框架(Yarn)架構

新的 Hadoop MapReduce 框架(Yarn)架構

重構根本的思想是將JobTracker 兩個主要的功能分離成單獨的組件,這兩個功能是資源管理和任務調度 / 監控。新的資源管理器全局管理所有應用程序計算資源的分配,每一個應用的ApplicationMaster 負責相應的調度和協調。一個應用程序無非是一個單獨的傳統的MapReduce 任務或者是一個 DAG( 有向無環圖 ) 任務。ResourceManager 和每一臺機器的節點管理服務器能夠管理用戶在那臺機器上的進程并能對計算進行組織。

事實上,每一個應用的 ApplicationMaster 是一個詳細的框架庫,它結合從ResourceManager 獲得的資源和 NodeManager 協同工作來運行和監控任務。

上圖中ResourceManager支持分層級的應用隊列,這些隊列享有集群一定比例的資源。從某種意義上講它就是一個純粹的調度器,它在執行過程中不對應用進行監控和狀態跟蹤。同樣,它也不能重啟因應用失敗或者硬件錯誤而運行失敗的任務。

ResourceManager 是基于應用程序對資源的需求進行調度的 ; 每一個應用程序需要不同類型的資源因此就需要不同的容器。資源包括:內存,CPU,磁盤,網絡等等。可以看出,這同現Mapreduce 固定類型的資源使用模型有顯著區別,它給集群的使用帶來負面的影響。資源管理器提供一個調度策略的插件,它負責將集群資源分配給多個隊列和應用程序。調度插件可以基于現有的能力調度和公平調度模型。

上圖中NodeManager 是每一臺機器框架的代理,是執行應用程序的容器,監控應用程序的資源使用情況 (CPU,內存,硬盤,網絡 ) 并且向調度器匯報。

每一個應用的ApplicationMaster 的職責有:向調度器索要適當的資源容器,運行任務,跟蹤應用程序的狀態和監控它們的進程,處理任務的失敗原因。

新舊 Hadoop MapReduce 框架比對

讓我們來對新舊 MapReduce 框架做詳細的分析和對比,可以看到有以下幾點顯著變化:

首先客戶端不變,其調用 API接口大部分保持兼容,這也是為了對開發使用者透明化,使其不必對原有代碼做大的改變 ( 詳見 2.3 Demo 代碼開發及詳解),但是原框架中核心的JobTracker 和 TaskTracker 不見了,取而代之的是 ResourceManager, ApplicationMaster 與NodeManager 三個部分。

我們來詳細解釋這三個部分,首先 ResourceManager 是一個中心的服務,它做的事情是調度、啟動每一個 Job 所屬的 ApplicationMaster、另外監控 ApplicationMaster 的存在情況。細心的讀者會發現:Job 里面所在的 task 的監控、重啟等等內容不見了。這就是 AppMst 存在的原因。ResourceManager 負責作業與資源的調度。接收 JobSubmitter 提交的作業,按照作業的上下文 (Context) 信息,以及從 NodeManager 收集來的狀態信息,啟動調度過程,分配一個 Container 作為 App Mstr

NodeManager 功能比較專一,就是負責 Container 狀態的維護,并向 RM 保持心跳。

ApplicationMaster 負責一個 Job 生命周期內的所有工作,類似老的框架中 JobTracker。但注意每一個 Job(不是每一種)都有一個 ApplicationMaster,它可以運行在 ResourceManager 以外的機器上。

1.4Yarn 框架相對于老的 MapReduce 框架什么優勢呢?

我們可以看到:

這個設計大大減小了 JobTracker(也就是現在的 ResourceManager)的資源消耗,并且讓監測每一個 Job 子任務 (tasks) 狀態的程序分布式化了,更安全、更優美。

在新的 Yarn 中,ApplicationMaster 是一個可變更的部分,用戶可以對不同的編程模型寫自己的 AppMst,讓更多類型的編程模型能夠跑在 Hadoop 集群中,可以參考 hadoop Yarn 官方配置模板中的 mapred-site.xml 配置。

對于資源的表示以內存為單位 ( 在目前版本的 Yarn 中,沒有考慮 cpu 的占用 ),比之前以剩余 slot 數目更合理。

老的框架中,JobTracker 一個很大的負擔就是監控 job 下的 tasks 的運行狀況,現在,這個部分就扔給 ApplicationMaster 做了,而 ResourceManager 中有一個模塊叫做 ApplicationsMasters( 注意不是 ApplicationMaster),它是監測 ApplicationMaster 的運行狀況,如果出問題,會將其在其他機器上重啟。

Container 是 Yarn 為了將來作資源隔離而提出的一個框架。這一點應該借鑒了 Mesos 的工作,目前是一個框架,僅僅提供 java 虛擬機內存的隔離 ,hadoop 團隊的設計思路應該后續能支持更多的資源調度和控制 , 既然資源表示成內存量,那就沒有了之前的 map slot/reduce slot 分開造成集群資源閑置的尷尬情況。

新的 Yarn 框架相對舊 MapRduce 框架而言,其配置文件 , 啟停腳本及全局變量等也發生了一些變化,主要的改變如下:

1.5配置文件

安裝完成后的Hadoop默認配置就可以啟動,但其工作于本地模式;為了模擬hadoop集群的工作環境,完成配置測試,MarReduce程序測試等工作,可以配置其在單臺主機模擬提供分布式的hadoop,即偽分布式。

hadoop的配置共有四種級別:集群、進程、作業和單獨操作,前兩類由集群管理員負責配置,后面的兩類則屬于程序員的工作范疇。

hadoop的配置文件位于conf目錄中,其中的core-site.xml、mapred-site.xml和hdfs-site.xml三個配置文件最為關鍵。

core-site.xml用于配置hadoop集群的特性,它作用于全部進程及客戶端。mapred-site.xml配置mapreduce集群的工作屬性。

hdfs-site.xml配置hdfs集群的工作屬性。

此三個文件均為XML格式,其每個屬性配置請求格式如下:

some.property.name

some-value

另外還有三個配置文件需要留意。hadoop-env.sh是Hadoop的多個腳本執行時source的配置信息,其用于為Hadoop指定運行時使用的JDK、各進程的JDK屬性、PID文件及日志文件的保存目錄等。masters則用于指定輔助名稱節點(SecondaryNameNode)的主機名或主機地址,slaves用于指定各從服務器(TaskTracker或DataNode)的主機名或主機地址。對偽分布式的Hadoop集群來講,這些節點均為本機。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Hadoop
    +關注

    關注

    1

    文章

    90

    瀏覽量

    16936
  • 大數據
    +關注

    關注

    64

    文章

    9063

    瀏覽量

    143743
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    廣汽集團啟動3P1M人力資源管理體系變革

    1月17日,廣汽集團3P1M人力資源管理體系變革項目啟動會暨人力資源賦能業務主題分享會在番禺總部召開。這是廣汽集團改革工作的關鍵性節點,意味著廣汽改革已全面進入深水區。廣汽將從人力資源管理體系的創新變革入手,由內而外煥新組織活力
    的頭像 發表于 01-22 15:09 ?462次閱讀

    LoRaWAN協議,如何構建一個高效的水務管理網絡?

    LoRaWAN技術提升水資源管理效率,實現智能監測與精準調度,優化用水與環保。
    的頭像 發表于 12-29 16:11 ?750次閱讀
    LoRaWAN協議,如何構建一個高效的水務<b class='flag-5'>管理</b>網絡?

    意法半導體深圳工廠亮相第二屆上海水資源管理論壇

    ???????? 2025年10月22日,第二屆上海水資源管理論壇在滬順利舉辦。這場由國際可持續水管理聯盟(Alliance for Water Stewardship,AWS)主辦的行業盛會
    的頭像 發表于 11-17 09:27 ?482次閱讀

    嵌入式實時操作系統的特點

    操作系統具備高效的中斷處理機制,能夠快速響應和處理系統的中斷事件。 資源管理:實時嵌入式操作系統提供有效的資源管理機制,包括內存
    發表于 11-13 06:30

    蜂鳥E203內核優化方法

    。 修改內核參數:對蜂鳥E203的內核參數進行相應修改,可以優化內核運行效率,提高系統性能,比如調整緩存大小、內存分配策略等。 資源管理:進行有針對的資源管理,例如調度算法的修改,調整好CPU占用率等,以
    發表于 10-21 07:55

    水文水質自動監測站:水資源管理的“智慧哨兵”

    水文水質自動監測站:水資源管理的“智慧哨兵” 柏峰【BF-LDSW】水資源是生態環境與社會經濟發展的核心要素,其動態變化與質量狀況直接關系到民生福祉與生態安全。
    的頭像 發表于 10-14 10:48 ?444次閱讀
    水文水質自動監測站:水<b class='flag-5'>資源管理</b>的“智慧哨兵”

    雷達水文監測系統:金葉儀器助力水資源管理實現高效監測與預警

    水文監測是水資源管理的重要組成部分。準確可靠的數據對于防洪減災、供水調度和水環境保護具有基礎性作用。隨著科技發展,雷達技術在水文監測領域展現出獨特價值。雷達水文監測系統通過非接觸式測量方式,能夠持續
    的頭像 發表于 09-28 14:04 ?442次閱讀
    雷達水文監測<b class='flag-5'>系統</b>:金葉儀器助力水<b class='flag-5'>資源管理</b>實現高效監測與預警

    企業級HDFS高可用與YARN資源調度方案

    作為一名在大數據運維領域摸爬滾打8年的老兵,我見過太多因為基礎架構不夠健壯而導致的生產事故。今天,我想和大家分享一套經過實戰檢驗的 HDFS 高可用與 YARN 資源調度方案,這套方案幫助我們團隊將平臺可用性從 99.5% 提升到 99.99%,年故障時間從 43 小時降
    的頭像 發表于 09-08 17:15 ?732次閱讀

    k230彈出windows資源管理器無法識別usb設備怎么解決?

    k230彈出windows資源管理器無法識別該usb設備
    發表于 07-31 08:28

    MES系統與ERP系統有什么聯系

    MES系統(制造執行系統)和ERP系統(企業資源計劃)是制造業中兩類核心的信息化管理工具,二者既有明確分工又緊密關聯,共同構成企業數字化
    的頭像 發表于 06-23 10:04 ?1277次閱讀

    軟通動力與Qualsen(高勘技術)達成戰略合作,打造通信行業“啞資源”智能管理新模式

    資源管理邁向智能化新時代。軟通動力高級副總裁陳力銘、運營商智能終端與智能汽車事業群副總裁汪滔,高勘創始人兼首席技術官羅丁元、董事長兼總經理蔡俊出席戰略簽約儀式。 隨著全球通信網絡擴展,啞資源(即無法與網管系統
    的頭像 發表于 06-09 19:16 ?1207次閱讀

    中軟國際推出人力資源管理綜合平臺解決方案

    、智能化的系統來提升管理效率與決策分析能力。中軟國際憑借其豐富的行業經驗與技術優勢,推出了“人力資源管理綜合平臺解決方案”,通過信息化手段優化勞資管理水平,推動智能化
    的頭像 發表于 05-15 17:38 ?1050次閱讀

    納芯微電子榮膺2025人力資源管理杰出獎,以人才為翼,驅動創新未來

    近日,以“人才向上、共筑未來”為主題的2025人力資源管理杰出獎頒獎盛典暨高峰論壇(主辦方:前程無憂)隆重舉行。經過多維度嚴格評審, 納芯微憑借前瞻性的人才戰略、卓越的員工成長體系及創新的人力資源管理
    的頭像 發表于 05-08 09:22 ?1621次閱讀

    明渠流量監測管理系統及功能概述

    一、明渠流量監測管理系統概述明渠流量監測管理系統旨在實時、準確地監測明渠中的流量、水位等關鍵數據,為水資源管理、洪水預警、灌溉控制、環保排污
    的頭像 發表于 03-13 11:08 ?723次閱讀
    明渠流量監測<b class='flag-5'>管理</b><b class='flag-5'>系統</b>及功能概述