1.NameNode(管理節點)
Namenode 管理着文件系統的命令空間(Namespace)。它維護着文件系統樹以及文件樹中所有的文件和文件夾的元數據(metadata),元數據包括編輯日誌(edits)和鏡像文件。管理這些信息的文件有兩個,分別是Namespace 鏡像文件(fsimage)和編輯日誌文件,編輯日誌主要是記錄對hdfs進行的修改。鏡像文件主要是記錄hdfs的文件樹形結構。這些信息被Cache在RAM中,當然,這兩個文件也會被持久化存儲在本地硬盤。Namenode記錄着每個文件中各個塊所在的數據節點的位置信息,但是他並不持久化存儲這些信息,因爲這些信息會在系統啓動時從數據節點重建。
2.DataNode(工作節點)
Datanode是文件系統的工作節點,他們根據客戶端或者是namenode的調度存儲和檢索數據,並且定期向namenode發送他們所存儲的塊(block)的列表。沒有namenode,文件系統是無法使用的。事實上,如果運行namenode服務的服務器壞掉,文件系統上的所有文件將會丟失。因爲我們不知道如何根據DataNode的塊進行重建文件。所有對NameNode進行容錯冗餘機制是非常重要的。
集羣中的從節點服務器都運行一個DataNode後臺程序,這個後臺程序負責把HDFS數據塊讀寫到本地的文件系統。當需要通過客戶端讀/寫某個數據時,先由NameNode告訴客戶端去哪個DataNode進行具體的讀/寫操作,然後客戶端直接與這個DataNode服務器上的後臺程序進行通信,並且對相關的數據塊進行讀/寫操作。
3.secondary NameNode(相當於MySQL數據庫中主從複製的從節點)
Secondary NameNode是一個用來監控HDFS狀態的輔助後臺程序。和NameNode一樣,每個集羣都有一個Secondary NameNode,並且部署在一個單獨的服務器上。Secondary NameNode不同於NameNode,它不接受或者記錄任何實時的數據變化,但是,它會與NameNode進行通信,以便定期地保存HDFS元數據的快照。由於NameNode是單點的,通過Secondary NameNode的快照功能,可以將NameNode的宕機時間和數據損失降低到最小。同時,如果NameNode發生問題,Secondary NameNode可以及時地作爲備用NameNode使用。
4.ResourceManager
ResourceManage 即資源管理,在YARN中,ResourceManager負責集羣中所有資源的統一管理和分配,它接收來自各個節點(NodeManager)的資源彙報信息,並把這些信息按照一定的策略分配給各個應用程序(實際上是ApplicationManager)。
RM包括Scheduler(定時調度器)和ApplicationManager(應用管理器)Schedular負責嚮應用程序分配資源,它不做監控以及應用程序的狀態跟蹤,並且不保證會重啓應用程序本身或者硬件出錯而執行失敗的應用程序。ApplicationManager負責接受新的任務,協調並提供在ApplicationMaster容器失敗時的重啓功能.每個應用程序的AM負責項Scheduler申請資源,以及跟蹤這些資源的使用情況和資源調度的監控。
5.Nodemanager
NM是ResourceManager在slave機器上的代理,負責容器管理,並監控它們的資源使用情況,以及向ResourceManager/Scheduler提供資源使用報告。
解析-hadoop五大節點
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.