YARN HA部署架構


hadoop001: zk rm(zkfc線程)  nm
hadoop002: zk rm(zkfc線程)  nm
hadoop003: zk              nm


RMStateStore: 存儲在ZK的/rmstore目錄下

ZKFC僅僅是線程

大數據的數據是不能丟的,但是作業是可以掛的,掛了重啟即可.因此YARN的架構比較輕量級,HDFS的架構相對來說,比較重量級別.

小結:
當我們RM進程啟動后,會向ZK發一個look lck文件,寫成功的話,是active狀態,寫失敗,會是standby, rm節點會監控look文件的存在,如果不存在,就會試圖創建look文件,誰創建成功,誰就是active狀態. 同時,rm會接收client的請求,接收和監控NM的資源狀態的匯報,然后負責資源的分配和調度. 然后它(NM)會啟動和監控AM.

NM向active匯報后,還會向standby匯報呢?  不需要

ZKFC: 線程,只作為RM進程的一個線程,而非獨立的進程存在. 沒有必要搞資源的消耗
RMStateStore: 存儲在zk的/rmstore目錄下. 
1. active的RM會向這個目錄寫APP信息
2. 當active RM 掛了,另外一個standby RM通過ZKFC選舉成功為active,會從/rmstore目錄讀取相應的作業信息,重新構建作業的內存信息,啟動內部的服務,開始接收NM的心跳,構建集群的資源信息,並且接受客戶端的作業提交請求


RM 進程:
1. 啟動的時候會向ZK的/rmstore目錄寫lock文件,寫成功就為active,否則,就是是tandby. RM節點ZKFC會一直監控(通過心跳)這個lock文件的是否存在,假如不存在,就為active, 否則,就為standby
22: 15 配置 http://hadoop.apache.org/docs/r2.6.5/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
2. 接收client的請求,接收和監控NM的資源狀況的匯報,負責資源的分配和調度
3. 啟動和監控我們的AM,AM是跑在NM節點的Container上. 
 ApplicationsManager 運行在RM中
 ApplicationMaster   運行在NM中的Container容器里  作業的主程序


NM:
節點資源的管理 啟動容器運行task計算    上報資源    匯報task進度


要點:
1. ZKFC是進程還是線程?  線程, HDFS中的是進程
2. /rmstore存儲在哪里? 
    yarn.resourcemanager.zk-state-store.parent-path

YARN-HA


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM