一、Hadoop是什么
1)Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)
分布式系統(tǒng),一份工作,多個服務(wù)器運行
基礎(chǔ)架構(gòu),像spark都是基于hadoop進(jìn)行的一個存儲
2)Hadoop主要解決,海量數(shù)據(jù)的存儲和海量數(shù)據(jù)的分析計算問題
存儲是因為,傳統(tǒng)的工具存不了這么大的數(shù)據(jù)
計算是因為,傳統(tǒng)的計算工具進(jìn)行不了這么大的計算
3)廣義上來說,Hadoop通常是指一個更廣泛的概念——Hadoop生態(tài)圈
- 這個生態(tài)圈還包括HBASE、HIVE、ZooKeeper
二、Hadoop發(fā)展歷史
1)Lucene框架是Doug Cutting開創(chuàng)的開源軟件,用Java書寫的,實現(xiàn)與Google類似的全文搜索功能,它提供了全文檢索引擎的架構(gòu),包括完整的查詢引擎和索引引擎。
2)2001年年底Lucenne稱為Apache基金會的一個子項目
3)對于海量數(shù)據(jù)的場景,Lucene面對與Google同樣的困難,存儲數(shù)據(jù)困難,檢索速度慢。
4)學(xué)習(xí)和模仿Google解決這些問題的辦法:微型版Nutch
5)Google是Hadoop的思想之源(Google在大數(shù)據(jù)方面的三篇論文)
GFS >> HDFS
MapReduce >> MR
BigTable >> HBase
6)2003-2004年,Google公開了部分GFS和MapReduce思想的細(xì)節(jié),Doug Cutting用2年實現(xiàn)了DFS和MapReduce機(jī)制,使Nutch性能飆升
7)2005年Hadoop被引入Apache基金會
8)2006年3月,MapReduce和NDFS分別被納入了Hadoop的項目中
三、Hadoop三大發(fā)行版本
Hadoop三大發(fā)行版本:Apache、Cloudera、Hortonworks
Apache版本最基礎(chǔ),對于入門學(xué)習(xí)最好
Cloudera在大型互聯(lián)網(wǎng)企業(yè)中用的較多(收費)
Hortonworks文檔較好
四、Hadoop的優(yōu)勢
1)高可靠性:Hadoop底層維護(hù)了多個數(shù)據(jù)副本(默認(rèn)3個副本,即3個備份),即使Hadoop某個計算元素或存儲出現(xiàn)故障,也不回導(dǎo)致數(shù)據(jù)的丟失
2)高擴(kuò)展:在集群間分配任務(wù)數(shù)據(jù),可方便的擴(kuò)展數(shù)以千計的節(jié)點
3)高效性:在MapReduce的思想下,Hadoop是并行工作的,加快任務(wù)處理的速度
4)高容錯性:自動將失敗的任務(wù)重新分配(有很詳細(xì)的調(diào)度機(jī)制)
五、Hadoop1.x和Hadoop2.x的區(qū)別

- 2.x有了Yarn,專門負(fù)責(zé)資源調(diào)度,功能模塊化
五、HDFS架構(gòu)概述
1)NameNode(nn):存儲文件的元數(shù)據(jù),如文件名,文件目錄結(jié)構(gòu),文件屬性(生成時間、副本數(shù)、文件權(quán)限),以及每個文件的塊列表和塊所在的DataNode等
2)DataNode(dn):在本地文件系統(tǒng)存儲文件塊數(shù)據(jù),以及塊數(shù)據(jù)的校驗和
3)Secondary NameNode(2nn):用來監(jiān)控HDFS狀態(tài)的輔助后臺程序,每隔一段時間獲取HDFS元數(shù)據(jù)的快照
六、YARN架構(gòu)概述

1)ResourceManager(RM)主要作用如下
2)NodeManager(NM)主要作用如下
管理單個節(jié)點上的資源
處理來自ReourceManager的命令
處理來自于ApplicationMaster的命令
七、MapReduce架構(gòu)概述
MapReduce將計算過程分為兩個階段:Map和Reduce
1)Map階段并行處理輸入數(shù)據(jù)
2)Reduce階段對Map結(jié)果進(jìn)行匯總

八、大數(shù)據(jù)技術(shù)生態(tài)體系

九、推薦系統(tǒng)框架圖

參考鏈接: