參考文檔:《Hadoop權(quán)威指南(第4版)》
網(wǎng)址: http://hadoop.apache.org/
[1] HDFS:Hadoop Distribution File System Hadoop分布式文件系統(tǒng)
[2] YARN:Yet Another Resource Negotiator Hadoop資源管理與調(diào)度器
[3] HA:High Availability 高可用
[4] QJM:Quorum Journal Manager 群體日志管理器
1. Google與Hadoop的前世今生
第一篇論文:GFS
2003年谷歌發(fā)表了 “The Google File System(谷歌文件系統(tǒng),簡稱GFS)”的論文,GFS的架構(gòu)能夠滿足在網(wǎng)頁爬取和索引過程中產(chǎn)生的超大文件的存儲(chǔ)需求。于是,在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ù)的分布式存儲(chǔ)系統(tǒng))”的論文。Powerset公司根據(jù)BigTable的思想,發(fā)起了HBase,即Hadoop Database。
2008年1月,Hadoop成為Apache的頂級(jí)項(xiàng)目。背后主要的公司為雅虎,主要用Hadoop來支撐雅虎的搜索引擎系統(tǒng)。
2013年 Hadoop 2.0發(fā)布
2017年 Hadoop 3.0 發(fā)布
2.Hadoop主要的發(fā)行版
- Apache Hadoop原始版本
- Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,簡稱“CDH”)
- Hortonworks版本(Hortonworks Data Platform,簡稱“HDP”)
- MapR
- 其他的發(fā)行版,如華為、Intel等。
3.Hadoop生態(tài)圈
- 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ù)
image
參考:
[1] https://www.edureka.co/blog/hadoop-ecosystem
[2] https://data-flair.training/blogs/hadoop-ecosystem-components/
4.Hadoop主要模塊
-
Hadoop Common
為其他Hadoop模塊提供基礎(chǔ)支持,可以看做是一個(gè)公共庫。
-
HDFS
高吞吐量、高可用的分布式文件系統(tǒng)。
image
HDSF集群有兩類節(jié)點(diǎn),以管理節(jié)點(diǎn)(NameNode)-工作節(jié)點(diǎn)(DataNode)模式運(yùn)行:
- NameNode
管理文件系統(tǒng)的命名空間,維護(hù)著文件系統(tǒng)樹上及整棵樹內(nèi)所有的文件和目錄。
- DataNode
文件系統(tǒng)的工作節(jié)點(diǎn),負(fù)責(zé)存儲(chǔ)和檢索數(shù)據(jù),并將存儲(chǔ)的塊的列表定期發(fā)送給NameNode管理節(jié)點(diǎn)
- SecondaryNameNode
也叫輔助NameNode,主要作用就是定期合并編輯日志與命名空間鏡像,以防止編輯日志過大。
-
YARN
集群資源管理與任務(wù)調(diào)度框架
image
YARN也包含兩個(gè)核心服務(wù):資源管理器(ResourceManager)和節(jié)點(diǎn)管理器(NodeManager):
- ResourceManager
管理集群上資源的使用
- NodeManager
運(yùn)行在集群中所有節(jié)點(diǎn)上并啟動(dòng)和監(jiān)控容器。
-
MapReduce
大數(shù)據(jù)并行處理框架