hadoop安裝視頻講解:https://www.cniao5.com/course/10244
1.1Hadoop簡介
1.1.1Hadoop的誕生
Hadoop是由Apache Lucene創(chuàng)始人Doug Cutting創(chuàng)建的。它起源于開源搜索引擎Apache Nutch。Nutch項(xiàng)目開始于2002年,是一個(gè)可以運(yùn)行的網(wǎng)頁爬取工具和搜索引擎系統(tǒng),但是這個(gè)系統(tǒng)無法解決數(shù)十億的搜索問題。
三篇劃時(shí)代論文的誕生對Hadoop的誕生起到了決定性作用。
第一篇論文:GFS
2003年谷歌發(fā)表了 “The Google File System(谷歌文件系統(tǒng),簡稱GFS)”的論文,GFS的架構(gòu)能夠滿足在網(wǎng)頁爬取和索引過程中產(chǎn)生的超大文件的存儲需求。于是,在2004年Nutch團(tuán)隊(duì)開始做GFS的開源版本實(shí)現(xiàn),也就是Nutch分布式文件系統(tǒng)(NDFS)。
第二篇論文:MapReduce
2004年谷歌發(fā)表了“MapReduce:Simplified Data Processing on Large Cluster(大型集群的數(shù)據(jù)簡化處理)”的論文。2005年,Nutch團(tuán)隊(duì)在Nutch上實(shí)現(xiàn)了MapReduce。
2006年2月,Nutch開發(fā)人員將NDFS和MapReduce移除Nutch形成一個(gè)獨(dú)立的項(xiàng)目,命名為Hadoop。這個(gè)名字不是縮寫,是生造出來的。
第三篇:BigTable
2006年谷歌發(fā)表了“BigTable:A Distributed Storage System for Structured Data(一個(gè)結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng))”的論文。Powerset公司根據(jù)BigTable的思想,發(fā)起了HBase,即Hadoop Database。
1.1.2Hadoop重要里程碑
2008年1月,Hadoop成為Apache的頂級項(xiàng)目。背后主要的公司為雅虎,主要用Hadoop來支撐雅虎的搜索引擎系統(tǒng)。
2013年 Hadoop 2.0發(fā)布
2017年 Hadoop 3.0 發(fā)布
1.1.3Hadoop主要發(fā)行版本
?Apache Hadoop原始版本
?Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,簡稱“CDH”)
?Hortonworks版本(Hortonworks Data Platform,簡稱“HDP”)
?MapR
此外,還有一些其他的發(fā)行版,如華為、Intel等。
1.2Hadoop生態(tài)系統(tǒng)
?Hadoop從最開始的HDFS和MapReduce發(fā)展至今,已經(jīng)形成一個(gè)龐大的生態(tài)系統(tǒng)。主要包括:
?HDFS:分布式文件系統(tǒng)
?YARN:資源管理與調(diào)度系統(tǒng)
?MapReduce:分布式處理框架
?Pig、Hive:類SQL的數(shù)據(jù)查詢
?Mahout、Spark MLib:機(jī)器學(xué)習(xí)庫
?HBase:分布式列數(shù)據(jù)庫
?Zookeeper:集群管理
?Oozie:任務(wù)調(diào)度
?Flume、Sqoop:數(shù)據(jù)導(dǎo)入導(dǎo)出
?Solr&Lucene:搜索與索引
?Ambari:集群監(jiān)控與維護(hù)

參考:
[1] <u>https://www.edureka.co/blog/hadoop-ecosystem</u>
[2] <u>https://data-flair.training/blogs/hadoop-ecosystem-components/</u>
1.3Hadoop主要模塊
1.3.1Hadoop Common
為其他Hadoop模塊提供基礎(chǔ)支持,可以看做是一個(gè)公共庫。
1.3.2HDFS
高吞吐量、高可用的分布式文件系統(tǒng)。

圖片來源:<u>http://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html</u>
HDSF集群有兩類節(jié)點(diǎn),以管理節(jié)點(diǎn)(NameNode)-工作節(jié)點(diǎn)(DataNode)模式運(yùn)行。
1.3.2.1 NameNode
管理文件系統(tǒng)的命名空間,維護(hù)著文件系統(tǒng)樹上及整棵樹內(nèi)所有的文件和目錄。
1.3.2.2DataNode
文件系統(tǒng)的工作節(jié)點(diǎn),負(fù)責(zé)存儲和檢索數(shù)據(jù),并將存儲的塊的列表定期發(fā)送給NameNode管理節(jié)點(diǎn)。
1.3.2.3 ondaryNameNode**
也叫輔助NameNode,主要作用就是定期合并編輯日志與命名空間鏡像,以防止編輯日志過大。
1.3.2.4 YARN
集群資源管理與任務(wù)調(diào)度框架

圖片來源:<u>http://hadoop.apache.org/docs/r2.7.6/hadoop-yarn/hadoop-yarn-site/YARN.html</u>
YARN也包含兩個(gè)核心服務(wù):資源管理器(ResourceManager)和節(jié)點(diǎn)管理器(NodeManager)。
1.3.3.1 ResourceManager
管理集群上資源的使用
1.3.3.2 NodeManager
運(yùn)行在集群中所有節(jié)點(diǎn)上并啟動和監(jiān)控容器。
1.3.4 MapReduce
大數(shù)據(jù)并行處理框架

1.4 虛擬機(jī)環(huán)境準(zhǔn)備
1.4.1 基礎(chǔ)軟件準(zhǔn)備
基礎(chǔ)軟件主要包括:
鏈接:https://pan.baidu.com/s/1qQxIoR985XxKIj8zzIFH7g 提取碼:wayj
1.4.2 操作系統(tǒng)安裝
參見Linux基礎(chǔ)視頻課程:https://www.cniao5.com/course/10244
1.5 Hadoop環(huán)境搭建
[1] <u>http://dicoding.site/archives/388</u> 偽分布式安裝
[2] <u>http://dicoding.site/archives/209</u> 分布式安裝
1.5.1 Hadoop安裝包
這里采用Hadoop2.7.7 版本,可以在官網(wǎng)<u>http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz</u> 或者我的百度網(wǎng)盤:https://pan.baidu.com/s/1qQxIoR985XxKIj8zzIFH7g 提取碼:wayj
1.5.2 核心配置文件
Hadoop主要有四個(gè)核心配置文件,如下:
n core-site.xml:配置通用屬性
n hdfs-site.xml:配置HDFS的屬性
n mapred-site.xml:配置MapReduce的屬性
n yarn-site.xml:配置YARN的屬性
以上關(guān)于hadoop的視頻講解:https://www.cniao5.com/course/lessons/10244


