hadoop常用四大模組及五大程式節點介紹

czz1141979570發表於2018-05-19

1.1hadoop常用四大模組檔案:

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申請來進行


相關文章