好程序員大數據學習路線分享hadoop常用四大模塊文件

  1.1.1core-site.xml(工具模塊)

  包括Hadoop常用的工具類,由原來的Hadoopcore部分更名而來。主要包括系統配置工具Configuration、遠程過程調用RPC、序列化機制和Hadoop抽象文件系統FileSystem等。它們爲在通用硬件上搭建雲計算環境提供基本的服務,併爲運行在該平臺上的軟件開發提供了所需的API。

   

  1.1.2hdfs-site.xml(數據存儲模塊)

  分佈式文件系統,提供對應用程序數據的高吞吐量高伸縮性高容錯性的訪問。是Hadoop體系中數據存儲管理的基礎。它是一個高度容錯的系統,能檢測和應對硬件故障,用於在低成本的通用硬件上運行。HDFS簡化了文件的一致性模型,通過流式數據訪問,提供高吞吐量應用程序數據訪問功能,適合帶有大型數據集的應用程序。

  namenode+ datanode + secondarynode

   

  1.1.3mapred-site.xml(數據處理模塊)

  基於YARN的大型數據集並行處理系統。是一種計算模型,用以進行大數據量的計算。Hadoop的MapReduce實現,和Common、HDFS一起,構成了Hadoop發展初期的三個組件。MapReduce將應用劃分爲Map和Reduce兩個步驟,其中Map對數據集上的獨立元素進行指定的操作,生成鍵-值對形式中間結果。Reduce則對中間結果中相同“鍵”的所有“值”進行規約,以得到最終結果。MapReduce這樣的功能劃分,非常適合在大量計算機組成的分佈式並行環境裏進行數據處理。

   

  1.1.4yarn-site.xml(作業調度+資源管理平臺)

   任務調度和集羣資源管理

         resourcemanager + nodemanager

   

  1.2hadoop 五大節點:

  1.2.1NameNode(管理節點)

   Namenode 管理着文件系統的命令空間(Namespace)。它維護着文件系統樹(filesystemtree)以及文件樹中所有的文件和文件夾的元數據(metadata),元數據包括編輯日誌(edits)和鏡像文件(fsimage)。管理這些信息的文件有兩個,分別是Namespace 鏡像文件(fsimage)編輯日誌文件(edits),編輯日誌主要是記錄對hdfs進行的修改.鏡像文件主要是記錄hdfs的文件樹形結構.這些信息被Cache在RAM中,當然,這兩個文件也會被持久化存儲在本地硬盤Namenode記錄着每個文件中各個塊所在的數據節點的位置信息,但是他並不持久化存儲這些信息,因爲這些信息會在系統啓動時從數據節點重建。

   

  1.2.2DataNode(工作節點)

   Datanode是文件系統的工作節點他們根據客戶端或者是namenode調度存儲檢索數據,並且定期向namenode發送他們所存儲的塊(block)的列表。

   沒有namenode,文件系統是無法使用的.事實上,如果運行namenode服務的服務器壞掉,文件系統上的所有文件將會丟失.因爲我們不知道如何根據DataNode的塊進行重建文件.所有,對NameNode進行容錯冗餘機制是非常重要的.

   集羣中的從節點服務器都運行一個DataNode後臺程序,這個後臺程序負責把HDFS數據塊讀寫到本地的文件系統當需要通過客戶端讀/寫某個數據時,先由NameNode告訴客戶端去哪個DataNode進行具體的讀/寫操作,然後,客戶端直接與這個DataNode服務器上的後臺程序進行通信,並且對相關的數據塊進行讀/寫操作。

   

  1.2.3secondary NameNode(相當於MySQL數據庫中主從複製的從節點)

   Secondary  NameNode是一個用來監控HDFS狀態的輔助後臺程序。和NameNode一樣,每個集羣都有一個Secondary  NameNode,並且部署在一個單獨的服務器上。Secondary  NameNode不同於NameNode,它不接受或者記錄任何實時的數據變化,但是,它會與NameNode進行通信,以便定期地保存HDFS元數據的快照。由於NameNode是單點的,通過Secondary  NameNode的快照功能,可以將NameNode的宕機時間和數據損失降低到最小。同時,如果NameNode發生問題,Secondary  NameNode可以及時地作爲備用NameNode使用。

   

  1.2.4ResourceManager

   ResourceManage 即資源管理YARN中,ResourceManager負責集羣中所有資源的統一管理和分配,它接收來自各個節點(NodeManager)的資源彙報信息,並把這些信息按照一定的策略分配給各個應用程序(實際上是ApplicationManager)。

      RM包括Scheduler(定時調度器)和ApplicationManager(應用管理器)。Schedular負責嚮應用程序分配資源,它不做監控以及應用程序的狀態跟蹤,並且不保證會重啓應用程序本身或者硬件出錯而執行失敗的應用程序。ApplicationManager負責接受新的任務,協調並提供在ApplicationMaster容器失敗時的重啓功能.每個應用程序的AM負責項Scheduler申請資源,以及跟蹤這些資源的使用情況和資源調度的監控

   

  1.2.5Nodemanager

   NM是ResourceManager在slave機器上的代理,負責容器管理,並監控它們的資源使用情況,以及向ResourceManager/Scheduler提供資源使用報告

  HDFS文件存儲機制:

  

 HDFS集羣分爲兩大角色:NameNode、DataNode、(secondary NameNode)

 NameNode負責管理整個文件系統的元數據

DataNode負責管理用戶的文件數據塊

 文件會按照固定的大小切成若干塊後分佈式存儲在若干臺DataNode上

 每一個文件塊可以有多個副本,並存放在不同的DataNode上

 DataNode會定期向NameNode彙報自身所保存的文件block信息,而NameNode則會負責保持文件的副本數量

 HDFS的內部工作機制對客戶端保持透明,客戶端請求訪問HDFS都是通過向NameNode申請來進行


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章