yarn是hadoop 2.0的資源管理器。它是乙個通用的資源管理系統,可為上層應用提供統一的資源管理和排程,它的引入為集群在利用率、資源統一管理和資料共享等方面帶來了巨大好處。
1、從hadoop0.23版本開始對於mapduce計算框架進行公升級,引入了yarn。老的版本mrv1存在諸多問題,和yarn對比如下:
2)mrv1只支援批量的mapreduce計算;yarn框架除了mapreduce、還支援實時流,mpi等,使得hadoop成為乙個資源和資料共享的基礎計算框架,減少集群運維成本,提高資源利用率。
3)mrv1 mapreduce框架使用slot做資源表示單位,並且map slot和reduce slot分離的,這樣資源不能共享,資源利用率不高;yarn使用節點的cpu、記憶體等資源作為資源表示單位,大大提高了資源利用率。
2、yarn基本架構:
yarn架構中具體角色:
2)nodemanager(nm):主要是節點上的資源管理,啟動container執行task計算,上報資源、container情況給rm和任務處理情況給am。
3、提交乙個job到yarn的處理過程:
6)nodemanager為任務設定好執行環境(包括環境變數、jar包、二進位制程式等)後,將任務啟動命令寫到乙個指令碼中,並通過執行該指令碼啟動任務。
4、yarn中resourcemanage的高可用:
resourcemanager(rm)負責跟蹤集群中資源使用情況,排程應用程式(比如mapreduce作業)。在hadoop 2.4之前,resourcemanager存在單點故障,需要通過其他方式實現ha。官方給出的ha方案是active/standby兩種狀態resourcemanager的冗餘方式,類似於hdfs的ha方案,也就是通過冗餘消除單點故障。
1)rm故障轉移:
resourcemanager ha是通過active/standby冗餘架構實現的,在任何時間點,其中乙個rm處於active狀態,其他rm處於standby狀態,standby狀態的rm就等著active撲街或被撤。通過管理員命令或自動故障轉移(需要開啟自動故障轉移配置),standby就會轉為active狀態,對外提供服務。
a、手動轉換和故障轉移:當未啟用自動故障轉移時,就需要管理員手動轉換。首先將active狀態的rm轉為standby狀態,然後將乙個standby狀態的轉為active狀態。這些操作都需要通過yarn rmadmin命令來操作。
b、自動故障轉移:rm可以通過內嵌的基於zookeeper的active/standby選擇器決定哪個rm應該是active狀態的。當active效能下降或無響應時,乙個standby狀態的rm就被推舉出來,轉為active狀態接管。這裡不需要像hdfs的ha配置需要乙個單獨的zkfs守護程序輔助完成切換,因為這個功能已經內嵌在rm中。
2)rm狀態恢復:
當啟用resourcemanger重啟狀態恢復之後,新的active狀態的rm會載入上乙個rm狀態,並根據狀態盡可能的恢復之前的操作。應用程式會定期檢查,以避免丟失資料。狀態儲存需要對active狀態和standby狀態的rm都可見。目前,rmstatestore有兩個持久化實現,filesystemrmstatestore和zkrmstatestore。zkrmstatestore隱式的只允許乙個rm寫入操作,可以沒有單獨的防護機制就能夠避免腦裂問題,所以是ha集群推薦的狀態儲存方式。使用zkrmstatestore時,建議不要在zookeeper集群上設定zookeeper.digestauthenticationprovider.superdigest配置,以確保zk管理員無法訪問yarn的資訊。
參考:
Oracle體系架構
oracle資料庫由兩個實體組成 1 例項 2 資料庫 例項 例項由儲存結構和程序組成,短暫存在於ram和cpu 因此例項的生存時間其在記憶體的時間,我們可以啟動和停止例項。資料庫 資料庫分為物理結構和邏輯結構。物理結構 物理結構就是磁碟上的物理檔案 包括三類檔案 控制檔案 control file...
MySQL架構體系
了解mysql必須牢牢記住其體系結構圖,mysql是由sql介面,解析器,優化器,快取,儲存引擎組成的 connectors指的是不同語言中與sql的互動 management serveices utilities 系統管理和控制工具 connection pool 連線池。管理緩衝使用者連線,執...
mysql體系架構
1 connectors指的是不同語言中與sql的互動 2 management serveices utilities 系統管理和控制工具 3 connection pool 連線池 管理緩衝使用者連線,執行緒處理等需要快取的需求。4 sql inte ce sql介面 接受使用者的sql命令,並...