後面開始整理以前學習HDFS、Yarn時的筆記。node
HDFS 1.x
主要角色:git
- Namenode * 1
- 存儲、管理元數據,包括文件信息、文件與數據塊的映射。
- 處理與元數據相關的操做,如枚舉路徑、查看文件的邏輯大小等。
- 集羣的協調者,如Datanode上下線、數據塊的生命週期管理。
- Datanode * n
- Client * n
- 集羣的使用者,經過具體的FileSystem訪問集羣(門面模式)。
HDFS 2.x
與HDFS 1.x相比,2.x新增了兩個重要feature:HA、Federation。github
角色變化以下:服務器
- Namenode * 2k
- HA支持一個Active Namenode和一個Standby Namenode,以一個Namespace(或Nameservice)的形式對外服務。在active掛時,自動將將standby切換爲新的active,舊的active恢復後成爲standby。
- Federation將多個Namespace合併爲一個視圖,用戶可經過viewfs訪問。
- Datanode * n
- 全部節點共同對全部Namespace服務。在Datanode上,各Namespace擁有單獨的目錄(blockpool)。
- Client * n
- 2.x的Federation經過
客戶端掛載表
實現,要經過ViewFileSystem訪問NameNode。(這一點也算不上變化,多了一種門面而已)
HA大大增強了HDFS的可用性;Federation則將多個集羣的視圖合併在一塊兒,方便用戶使用。兩個特性很是重要,HDFS 3.x在這兩個feature上繼續工做,現在HA以支持多standby,Federation支持服務器端路由。後面再整理實現方案。架構
本文連接:HDFS1.x、2.x架構圖
做者:猴子007
出處:monkeysayhi.github.io
本文基於 知識共享署名-相同方式共享 4.0 國際許可協議發佈,歡迎轉載,演繹或用於商業目的,可是必須保留本文的署名及連接。學習