共計 934 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章給大家介紹分布式計算 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 任務。
關于分布式計算 Hadoop 指的是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。