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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

YARN/MRv2 Resource Manager深入剖析—RM总体架构

發布時間:2025/3/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 YARN/MRv2 Resource Manager深入剖析—RM总体架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在YARN中,ResourceManager負責集群中所有資源的統一管理和分配,它接收來自各個節點(NodeManager)的資源匯報信息,并把這些信息按照一定的策略分配給各個應用程序(實際上是ApplicationManager)。

ResourceManager主要由以下幾個部分組成:

用戶交互

YARN分別針對普通用戶,管理員和Web提供了三種對外服務,分別對應ClientRMService、AdminService和WebApp:

ClientRMService

ClientRMService是為普通用戶提供的服務,它會處理來自客戶端各種RPC請求,比如提交應用程序、終止應用程序,獲取應用程序運行狀態等。

AdminService

YARN為管理員提供了一套獨立的服務接口,以防止大量的普通用戶請求使管理員發送的管理命令餓死,管理員可通過這些接口管理集群,比如動態更新節點列表,更新ACL列表,更新隊列信息等。

WebApp

為了更加友好地展示集群資源使用情況和應用程序運行狀態等信息,YARN對外提供了一個Web 界面,這一部分是YARN仿照haml(http://haml.info/)開發的一個輕量級嵌入式Web框架。具體討論見:https://issues.apache.org/jira/browse/MAPREDUCE-2399

NM管理

NMLivelinessMonitor

監控NM是否活著,如果一個NodeManager在一定時間(默認為10min)內未匯報心跳信息,則認為它死掉了,會將其從集群中移除。

NodesListManager

維護正常節點和異常節點列表,管理exlude(類似于黑名單)和inlude(類似于白名單)節點列表,這兩個列表均是在配置文件中設置的,可以動態加載。

ResourceTrackerService

處理來自NodeManager的請求,主要包括兩種請求:注冊和心跳,其中,注冊是NodeManager啟動時發生的行為,請求包中包含節點ID,可用的資源上限等信息,而心跳是周期性 行為,包含各個Container運行狀態,運行的Application列表、節點健康狀況(可通過一個腳本設置),而ResourceTrackerService則為NM返回待釋放的Container列表、Application列表等。

AM管理

AMLivelinessMonitor

監控AM是否活著,如果一個ApplicationMaster在一定時間(默認為10min)內未匯報心跳信息,則認為它死掉了,它上面所有正在運行的Container將被認為死亡,AM本身會被重新分配到另外一個節點上(用戶可指定每個ApplicationMaster的嘗試次數,默認是1次)執行。

ApplicationMasterLauncher

與NodeManager通信,要求它為某個應用程序啟動ApplicationMaster。

ApplicationMasterService

處理來自ApplicationMaster的請求,主要包括兩種請求:注冊和心跳,其中,注冊是ApplicationMaster啟動時發生的行為,包括請求包中包含所在節點,RPC端口號和tracking URL等信息,而心跳是周期性 行為,包含請求資源的類型描述、待釋放的Container列表等,而AMS則為之返回新分配的Container、失敗的Container等信息。

Application管理

ApplicationACLsManager

管理應用程序訪問權限,包含兩部分權限:查看和修改,查看主要指查看應用程序基本信息,而修改則主要是修改應用程序優先級、殺死應用程序等。

RMAppManager

管理應用程序的啟動和關閉。

ContainerAllocationExpirer

YARN不允許AM獲得Container后長時間不對其使用,因為這會降低整個集群的利用率。當AM收到RM新分配的一個Container后,必須在一定的時間(默認為10min)內在對應的NM上啟動該Container, 否則,RM會回收該Container。

安全管理

ResourceManage自帶了非常全面的權限管理機制,主要由ClientToAMSecretManager、ContainerTokenSecretManager、ApplicationTokenSecretManager等模塊完成。

資源分配

ResourceScheduler

ResourceScheduler是資源調度器,它按照一定的約束條件(比如隊列容量限制等)將集群中的資源分配給各個應用程序,當前主要考慮內存資源,在3.0版本中將會考慮CPU(https://issues.apache.org/jira/browse/YARN-2)。ResourceScheduler是一個插拔式模塊,默認是FIFO實現,YARN還提供了Fair Scheduler和Capacity Scheduler兩個多租戶調度器。

參考資料:

http://hortonworks.com/blog/apache-hadoop-yarn-resourcemanager/

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

本文鏈接地址:?http://dongxicheng.org/mapreduce-nextgen/yarnmrv2-resource-manager-infrastructure/



YARN/MRv2 Resource Manager深入剖析—NM管理



NodeManager管理部分主要由三個服務構成,分別是NMLivelinessMonitor、NodesListManager和ResourceTrackerService,它們共同管理NodeManager的生存周期,接下來我們依次介紹這三個服務。

NMLivelinessMonitor

該服務周期性遍歷所有NodeManager,如果一個NodeManager在一定時間(可通過參數yarn.nm.liveness-monitor.expiry-interval-ms配置,默認為10min)內未匯報心跳信息,則認為它死掉了,它上面所有正在運行的Container將被置為運行失敗(RM不會重新執行這些Container,它只會通過心跳機制告訴對應的AM,由AM決定是否重新執行,如果需要,則AM重新向RM申請資源)。

NodesListManager

NodesListManager維護正常節點和異常節點列表,它管理exlude(類似于黑名單)和inlude(類似于白名單)節點列表,這兩個列表所在的文件分別可通過yarn.resourcemanager.nodes.include-path和yarn.resourcemanager.nodes.exclude-path配置(每個節點host占一行),其中,exlude節點是排外節點,它們無法與RM取得連接(直接在RPC層拋出異常,導致NM死掉),默認情況下,這兩個列表均為空,表示任何節點均可接入RM。最重要的一點是,這兩個文件均可以動態加載。

ResourceTrackerService

ResourceTrackerService負責處理來自各個NodeManager的請求,主要包括兩種請求:注冊和心跳,其中,注冊是NodeManager啟動時發生的行為,請求包中包含節點ID,可用的資源上限等信息,而心跳是周期性 行為,包含各個Container運行狀態,運行的Application列表、節點健康狀況(可通過一個腳本設置),而ResourceTrackerService則為NM返回待釋放的Container列表、Application列表等。

當一個NM啟動時,他所做的第一件事是向RM注冊,這是通過RPC函數ResourceTracker.registerNodeManager()實現的。

NM啟動時候,它會周期性的通過RPC函數ResourceTracker. nodeHeartbeat ()匯報心跳,具體包含各個Container運行狀態、運行的Application列表、節點健康狀況等信息,而RM則位置返回需要釋放的Container列表,Application列表等。

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

本文鏈接地址:?http://dongxicheng.org/mapreduce-nextgen/yarnmrv2-resource-manager-nm-manager/


總結

以上是生活随笔為你收集整理的YARN/MRv2 Resource Manager深入剖析—RM总体架构的全部內容,希望文章能夠幫你解決所遇到的問題。

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