hadoop安裝視頻講解:https://www.cniao5.com/course/10244
1.1Hadoop簡介
1.1.1Hadoop的誕生
Hadoop是由Apache Lucene創(chuàng)始人Doug Cutting創(chuàng)建的。它起源于開源搜索引擎Apache Nutch春畔。Nutch項目開始于2002年脱货,是一個可以運行的網(wǎng)頁爬取工具和搜索引擎系統(tǒng),但是這個系統(tǒng)無法解決數(shù)十億的搜索問題律姨。
三篇劃時代論文的誕生對Hadoop的誕生起到了決定性作用振峻。
第一篇論文:GFS
2003年谷歌發(fā)表了 “The Google File System(谷歌文件系統(tǒng),簡稱GFS)”的論文择份,GFS的架構(gòu)能夠滿足在網(wǎng)頁爬取和索引過程中產(chǎn)生的超大文件的存儲需求扣孟。于是,在2004年Nutch團隊開始做GFS的開源版本實現(xiàn)缓淹,也就是Nutch分布式文件系統(tǒng)(NDFS)哈打。
第二篇論文:MapReduce
2004年谷歌發(fā)表了“MapReduce:Simplified Data Processing on Large Cluster(大型集群的數(shù)據(jù)簡化處理)”的論文。2005年讯壶,Nutch團隊在Nutch上實現(xiàn)了MapReduce料仗。
2006年2月,Nutch開發(fā)人員將NDFS和MapReduce移除Nutch形成一個獨立的項目伏蚊,命名為Hadoop立轧。這個名字不是縮寫,是生造出來的躏吊。
第三篇:BigTable
2006年谷歌發(fā)表了“BigTable:A Distributed Storage System for Structured Data(一個結(jié)構(gòu)化數(shù)據(jù)的分布式存儲系統(tǒng))”的論文氛改。Powerset公司根據(jù)BigTable的思想,發(fā)起了HBase比伏,即Hadoop Database胜卤。
1.1.2Hadoop重要里程碑
2008年1月,Hadoop成為Apache的頂級項目赁项。背后主要的公司為雅虎葛躏,主要用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)形成一個龐大的生態(tài)系統(tǒng)猾愿。主要包括:
?HDFS:分布式文件系統(tǒng)
?YARN:資源管理與調(diào)度系統(tǒng)
?MapReduce:分布式處理框架
?Pig鹦聪、Hive:類SQL的數(shù)據(jù)查詢
?Mahout、Spark MLib:機器學習庫
?HBase:分布式列數(shù)據(jù)庫
?Zookeeper:集群管理
?Oozie:任務(wù)調(diào)度
?Flume蒂秘、Sqoop:數(shù)據(jù)導入導出
?Solr&Lucene:搜索與索引
?Ambari:集群監(jiān)控與維護
參考:
[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ǔ)支持椎麦,可以看做是一個公共庫。
1.3.2HDFS
高吞吐量材彪、高可用的分布式文件系統(tǒng)观挎。
圖片來源:<u>http://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html</u>
HDSF集群有兩類節(jié)點,以管理節(jié)點(NameNode)-工作節(jié)點(DataNode)模式運行段化。
1.3.2.1 NameNode
管理文件系統(tǒng)的命名空間嘁捷,維護著文件系統(tǒng)樹上及整棵樹內(nèi)所有的文件和目錄。
1.3.2.2DataNode
文件系統(tǒng)的工作節(jié)點显熏,負責存儲和檢索數(shù)據(jù)雄嚣,并將存儲的塊的列表定期發(fā)送給NameNode管理節(jié)點。
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也包含兩個核心服務(wù):資源管理器(ResourceManager)和節(jié)點管理器(NodeManager)蕴轨。
1.3.3.1 ResourceManager
管理集群上資源的使用
1.3.3.2 NodeManager
運行在集群中所有節(jié)點上并啟動和監(jiān)控容器港谊。
1.3.4 MapReduce
大數(shù)據(jù)并行處理框架
1.4 虛擬機環(huán)境準備
1.4.1 基礎(chǔ)軟件準備
基礎(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主要有四個核心配置文件橙弱,如下:
n core-site.xml:配置通用屬性
n hdfs-site.xml:配置HDFS的屬性
n mapred-site.xml:配置MapReduce的屬性
n yarn-site.xml:配置YARN的屬性