日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受

【Hadoop】ResourceManager簡(jiǎn)介

簡(jiǎn)介

ResourceManager(RM),RM是全局的資源管理器,負責整個(gè)系統的資源管理和分配。主要由以下兩部分組成:

  • 調度器:根據容量、隊列限制條件將系統資源分配給各個(gè)應用。
    • 資源分配的單位是container,container是一個(gè)動(dòng)態(tài)資源單位,它將內存、CPU、磁盤(pán)、網(wǎng)絡(luò )等資源封裝在一起,從而限定了資源使用量。
    • 調度器是一個(gè)可插拔的組件,用戶(hù)可以自己定制,也可以選擇Fair或Capacity調度器.
  • 應用程序管理器:負責管理所有應用程序的以下內容:
    • 應用提交
    • 與調度器協(xié)商資源以啟動(dòng)AM.
    • 監控AM運行狀態(tài)并在失敗時(shí)重啟它

RM內部架構

  • 交互模塊:RM對普通用戶(hù)、管理員、Web提供了三種對外服務(wù):
    • ClientRMService:為普通用戶(hù)提供服務(wù),它處理來(lái)自客戶(hù)端的各種RPC,比如:
      • 應用提交
      • 終止應用
      • 獲取應用狀態(tài)等
    • AdminService:為管理員提供的獨立接口,主要目的是為了防止大量普通用戶(hù)請求阻塞管理員通道,提供如下功能:
      • 動(dòng)態(tài)更新節點(diǎn)列表
      • 更新ACL列表
      • 更新隊列信息等
    • WebApp:提供一個(gè)Web界面來(lái)讓用戶(hù)更友好的獲知集群和應用的狀態(tài)
  • NM管理模塊:用來(lái)管理NM的模塊,主要包含以下三個(gè)組件:
    • ResourceTrackerService:處理來(lái)自NodeManager的請求,主要包括:
      • 注冊:注冊是NM啟動(dòng)時(shí)發(fā)生的行為,NM提供的信息包括:
        • 節點(diǎn)ID、可用資源上限信息等.
      • 心跳:心跳是周期行為
        • NM提供的信息包括:
          • 各個(gè)Container運行狀態(tài)、運行的Application列表、節點(diǎn)健康狀態(tài)等.
        • RM返回的信息包括:
          • 等待釋放的Container列表、Application列表等.
    • NMLivelinessMonitor:監控NM是否活著(zhù),如果NM在一定時(shí)間(默認10m)內未上報心跳,則認為它死掉,需要移除.
    • NodesListManager:維護正常節點(diǎn)和異常節點(diǎn)列表,管理exclude(類(lèi)似黑名單)和include(類(lèi)似白名單)節點(diǎn)列表,
      這兩個(gè)列表均是在配置文件中設置的,可以動(dòng)態(tài)加載。
  • AM管理模塊:主要是用來(lái)管理所有AM,主要包括:
    • ApplicationMasterService(AMS):處理來(lái)自AM的請求,包括:
      • 注冊:是AM啟動(dòng)時(shí)發(fā)生的行為,信息包括:
        • AM的啟動(dòng)節點(diǎn)、對外RPC端口、tracking URL等.
      • 心跳:是周期行為
        • AM提供的信息包括:所需資源的描述、待釋放Container列表、黑名單列表等.
        • AMS返回的信息包括:新分配的Container、失敗的Container、待搶占的Container列表等
    • AMLivelinessMonitor:監控AM是否活著(zhù),如果AM在一定時(shí)間(默認10m)內未上報心路,
      則認為它死掉,它上面正在運行的Container將會(huì )被置為失敗狀態(tài),而AM本身會(huì )被分配到另一個(gè)節點(diǎn)上(用戶(hù)可以指定重試次數,默認5)
    • ApplicationMasterLauncher:與某個(gè)NM通信,要求它為某個(gè)應用程序啟動(dòng)AM.
  • 應用管理模塊:主要是各個(gè)應用外圍的管理,并不涉及到應用內部
    • ApplicationACLsManager:管理應用程序訪(fǎng)問(wèn)權限,包含兩部分:
      • 查看權限:主要用于查看應用程序基本信息
      • 修改權限:主要用于修改應用程序優(yōu)先級、殺死應用程序等
    • RMAppManager:管理應用程序的啟動(dòng)和關(guān)閉.
    • ContainerAllocationExpirer:當AM收到RM新分配的Container后,必須在一定時(shí)間(默認10m)內在對應的NM上啟動(dòng)該Container,
      否則RM將強制回收該Container,而一個(gè)已經(jīng)分配的Container是否該被回收則是由ContainerAllocationExpirer決定和執行的
  • 狀態(tài)機管理模塊:RM使用有限狀態(tài)機維護有狀態(tài)對象的生命周期,狀態(tài)機的引入使得Yarn的架構設計清晰,RM內部的狀態(tài)機有:
    • RMApp:維護一個(gè)應用程序的整個(gè)運行周期,包括從啟動(dòng)到運行結束的整個(gè)過(guò)程
      • 由于一個(gè)APP的生命周期可能會(huì )啟動(dòng)多個(gè)運行實(shí)例(Attempt),RMApp維護的是所有的這些Attempt
    • RMAppAttempt:一次應用程序的運行實(shí)例的整個(gè)生命周期,可以理解為APP的一次嘗試運行
    • RMContainer:一個(gè)Container的運行周期,包括從創(chuàng )建到運行結束的整個(gè)過(guò)程。
      • RM將資源封裝成Container發(fā)送給應用程序的AM,AM在Container描述的運行環(huán)境中啟動(dòng)任務(wù)
      • Yarn不支持Container重用,一個(gè)Container用完后會(huì )立刻釋放
    • RMNode:維護了一個(gè)NM的生命周期,包括從啟動(dòng)到運行結束的整個(gè)過(guò)程
  • 安全模塊:RM自帶了非常全面的權限管理機制,主要包括:
    • ClientToAMSecretManager
    • ContainerTokenSecretManager
    • ApplicationTokenSecretManager
  • 調度模塊:主要包含一個(gè)組件ResourceScheduler。
    • 資源調度器,它按照一定的約束條件(比如隊列容量限制等)將集群中的資源分配給各個(gè)應用程序,目前主要考慮內存和CPU。
    • ResourceScheduler是一個(gè)可插拔式的模塊,自帶三個(gè)調度器,用戶(hù)可以自己定制。
      • FIFO:先進(jìn)先出,單用戶(hù)。
      • Fair Scheduler:公平調度器(FairScheduler基本上具備其它兩種的所有功能)
      • Capacity Scheduler:容量調度器

RM事件與事件處理器

Yarn采用了事件驅動(dòng)機制,而RM是的實(shí)現則是最好的例證。所有服務(wù)和組件均是通過(guò)中央異步調度器組織在一起的,
不同組件之間通過(guò)事件交互,從而實(shí)現了一個(gè)異步并行的高效系統。

服務(wù)

組件名稱(chēng) 輸出事件類(lèi)型 用途
ClientRMService RMAppAttemptEvent
RMAppEvent
RMNodeEvent
NMLivelinessMonitor RMNodeEvent
ResourceTrackerService RMNodeEvent
RMAppAttemptEvent
AMLivelinessMonitor RMAppAttemptEvent
ContainerAllocationExpirer SchedulerEvent

事件處理器

組件名稱(chēng) 處理的事件類(lèi)型 輸出事件類(lèi)型 用途
ApplicationMasterLauncher AMLauncherEvent -
RMAppManager RMAppManagerEvent RMAppEvent
NodesListManager NodesListManagerEvent RMNodeEvent
RMAppEvent
RMApp RMAppEvent RMAppAttemptEvent RMNodeEvent SchedulerEvent RMAppManagerEvent
RMAppAttempt RMAppAttemptEvent SchedulerEvent RMAppAttemptEvent RMAppEvent AMLauncherEvent RMNodeEvent
RMNode RMNodeEvent RMAppEvent
SchedulerEvent NodesListManagerEvent RMNodeEvent
ResourceScheduler SchedulerEvent RMAppEvent RMAppAttemptEvent
RMContainer RMContainerEvent RMAppEvent RMAppAttemptEvent RMNodeEvent

事件處理器實(shí)現類(lèi)

  • RMApp 實(shí)現類(lèi):

    • ApplicationEventDispatcher
    • RMAppImpl
  • RMAppAttempt 實(shí)現類(lèi)

    • ApplicationAttemptEventDispatcher
    • RMAppAttemptImpl
  • RMNode實(shí)現類(lèi)

    • NodeEventDispatcher
    • RMNodeImpl
  • ResourceScheduler實(shí)現類(lèi)

    • EventDispatcher
    • FairScheduler
  • RMContainer實(shí)現類(lèi)

    • RMContainerImpl



標 題:《【Hadoop】ResourceManager簡(jiǎn)介
作 者:zeekling
提 示:轉載請注明文章轉載自個(gè)人博客:浪浪山旁那個(gè)村

    評論
    0 評論
avatar

取消
日本乱偷中文字幕,美女脱内衣18禁免费看,亚洲国产精品丝袜在线观看,18女人腿打开无遮挡,廖承宇chinese野战做受