告訴你Hadoop是什麼

點擊數: 【字體: 列印文章 查看評論

Hadoop是什麼?Hadoop是一個開發和運行處理大規模數據的軟體平台,是Appach的一個用java語言實現開源軟體框架,實現在大量計算機組成的集群中對海量數據進行分散式計算.

Hadoop框架中最核心設計就是:HDFS和MapReduce.HDFS提供了海量數據的存儲,MapReduce提供了對數據的計算.

數據在Hadoop中處理的流程可以簡單的按照下圖來理解:數據通過Haddop的集群處理后得到結果.

HDFS:Hadoop Distributed File System,Hadoop的分散式文件系統.
大文件被分成默認64M一塊的數據塊分佈存儲在集群機器中.

如下圖中的文件 data1被分成3塊,這3塊以冗餘鏡像的方式分佈在不同的機器中.

MapReduce:Hadoop為每一個input split創建一個task調用Map計算,在此task中依次處理此split中的一個個記錄(record),map會將結果以key--value的形式輸出,hadoop負責按key值將map的輸出整理後作為Reduce的輸入,Reduce Task的輸出為整個job的輸出,保存在HDFS上.

Hadoop的集群主要由 NameNode,DataNode,Secondary NameNode,JobTracker,TaskTracker組成.

如下圖所示:

NameNode中記錄了文件是如何被拆分成block以及這些block都存儲到了那些DateNode節點.

NameNode同時保存了文件系統運行的狀態信息. 

DataNode中存儲的是被拆分的blocks.

Secondary NameNode幫助NameNode收集文件系統運行的狀態信息.

JobTracker當有任務提交到Hadoop集群的時候負責Job的運行,負責調度多個TaskTracker.

TaskTracker負責某一個map或者reduce任務.


關於我們 |  站點地圖 |  聯繫方式 |  投稿指南 |  廣告服務 

Copyright © 2005 dn580.com Inc. All rights reserved. 永乐国际 版權所有

手機:15871451580 郵編:430000 EMail:fuanping@163.com

鄂ICP備12003384