学习笔记Hadoop(二)—— Hadoop介绍(2)——Hadoop 核心组件
二、Hadoop 核心組件
2.1、Apache Hadoop簡介
Apache Hadoop是一套用于在由通用硬件構建的大型集群上運行應用程序的框架。它實現了Map/Reduce編程范型,計算任務會被分割成小塊(多次)運行在不同的節(jié)點上。除此之外,它還提供了一款分布式文件系統(tǒng)(HDFS),數據被存儲在計算節(jié)點上以提供極高的跨數據中心聚合帶寬。
優(yōu)點:
高可靠性、高擴展性、高效性、高容錯性、低成本
2.2、主要模塊
- Hadoop Common:基礎工具庫用以支持其他模塊
- HDFS:高可用的分布式文件存儲系統(tǒng)
- Hadoop YARN:任務調度和集群資源管理框架
- MapReduce:分布式編程模型
- Hadoop Ozone:Hadoop類存儲模型
2.3、Hadoop 分布式文件系統(tǒng)-HDFS
客戶端(client)代表用戶與namenode和datanode交互來訪問整個文件系統(tǒng)
Namenode: 元數據操作,打開、關閉、重命名文件及文件夾、文件塊到DataNode映射
DataNode: 文件塊生成、刪除、復制及執(zhí)行NameNode的指令
HDFS通過多個文件塊來實現大文件存儲,所有的文件塊都是同樣大小(除了最后一個文件塊);
NameNode決定文件塊的復制,NameNode定時會收到DataNode的心跳包及塊報告。
2.4、Hadoop任務調度和資源管理框架-YARN
YARN 是 Hadoop 中的資源管理系統(tǒng),它是一個通用的資源管理模塊,可為各類應用程序進行資源管理和調度。
ResourceManager :處理客戶端請求、啟動/監(jiān)控ApplicationMaster、監(jiān)控NodeManager、資源分配與調度
NodeManager:單個節(jié)點上的資源管理、處理來自ResourceManager的命令、處理來自ApplicationMaster的命令
ApplicationMaster:數據切分、為應用程序申請資源,并分配給內部任務、任務監(jiān)控與容錯
- ResourceManager由Scheduler和ApplicationMaster組成;
- Scheduler: 對各個任務及隊列分配資源,沒有監(jiān)控及對任務狀態(tài)的追蹤,同時也不保證對失敗的任務進行重試
- ApplicationManager: 接受提交的任務,協調第一個用于啟動ApplicationMaster的container,同時針對ApplicationMaster的失敗提供重試
- ApplicationMaster:從Scheduler請求合適的資源containers,追蹤狀態(tài)及監(jiān)控進度
2.5、Hadoop分布式編程模型-MapReduce
MapReduce是Google提出的一個軟件架構,用于大規(guī)模數據集(大于1TB)的并行運算。概念“Map(映射)”和“Reduce(歸納)”,及他們的主要思想,都是從函數式編程語言借來的,還有從矢量編程語言借來的特性。
當前的軟件實現是指定一個Map(映射)函數,用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸納)函數,用來保證所有映射的鍵值對中的每一個共享相同的鍵組。
總結
以上是生活随笔為你收集整理的学习笔记Hadoop(二)—— Hadoop介绍(2)——Hadoop 核心组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重置密码遇到ERROR 1045 (28
- 下一篇: 学习笔记Hadoop(四)—— Hado