Hadoop概念
什么是Hadoop
Hadoop是一個由Apache基金會所開發的用于解決海量數據的存儲及分析計算問題的分布式系統基礎架構。
廣義上來說,Hadoop通常指一個跟廣泛的概念——Hadoop生態圈。
以下是hadoop生態圈中的技術:
Hadoop優勢
hadoop組成
HDFS架構概述
HDFS(Hadoop Distributed File System)是一個分布式文件系統,用于存儲文件,通過目錄樹來定位文件。
- NameNode(nn):存儲文件元數據,比如文件名、目錄結構、文件屬性(生成時間、副本數、文件權限),以及每個文件的數據塊(Block)列表和數據庫映射信息(比如塊所在哪幾個DataNote)等。
- DataNode(dn):在本地文件系統存儲文件塊數據,以及塊數據的校驗和;執行數據塊的讀寫操作。
- Secondary NameNode(2nn):定期備份NameNode元數據;在緊急情況下,可輔助恢復NameNode。
HDFS 優缺點
HDFS 的使用場景:適合一次寫入,多次讀出的場景。一個文件經過創建、寫入和關閉之后就不需要改變
YARN架構概述
YARN(Yet Another Resource Negotiator)是一個資源調度平臺,負責為運算程序提供服務器運算資源。
- ResourceManager(RM):核心管理服務,負責資源的管理和分配。
- NodeManager(NM):管理單個節點上的資源。
- ApplicationMaster(AM):負責內部任務的資源申請和分配;任務的監控和容錯。
- Container:容器,里面封裝了任務運行所需要的資源。
MapReduce架構概述
MapReduce 是一個分布式運算程序的編程框架,是用戶開發“基于 Hadoop 的數據分析應用”的核心框架。
MapReduce 核心功能是將用戶編寫的業務邏輯代碼和自帶默認組件整合成一個完整的分布式運算程序,并發運行在一個 Hadoop 集群上。
MapReduce將計算過程分為兩個階段:Map和Reduce。
- Map 階段并行處理輸入數據;
- Reduce 階段對 Map 結果進行匯總。
HDFS、YARN、MapReduce三者關系
Hadoop運行環境集群部署采用了三臺服務器,以下是集群部署規劃:
注意:
- NameNode 和 SecondaryNameNode 不要安裝在同一臺服務器
- ResourceManager 也很消耗內存,不要和 NameNode、SecondaryNameNode 配置在同一臺機器上。
本文由mdnice多平臺發布