Hadoop是由Apache Lucene創始人Doug Cutting建立的。它起源於開源搜索引擎Apache Nutch。Nutch項目開始於2002年,是一個能夠運行的網頁爬取工具和搜索引擎系統,可是這個系統沒法解決數十億的搜索問題。html
三篇劃時代論文的誕生對Hadoop的誕生起到了決定性做用。數據庫
2003年穀歌發表了 「The Google File System(谷歌文件系統,簡稱GFS)」的論文,GFS的架構可以知足在網頁爬取和索引過程當中產生的超大文件的存儲需求。因而,在2004年Nutch團隊開始作GFS的開源版本實現,也就是Nutch分佈式文件系統(NDFS)。apache
2004年穀歌發表了「MapReduce:Simplified Data Processing on Large Cluster(大型集羣的數據簡化處理)」的論文。2005年,Nutch團隊在Nutch上實現了MapReduce。架構
2006年2月,Nutch開發人員將NDFS和MapReduce移除Nutch造成一個獨立的項目,命名爲Hadoop。這個名字不是縮寫,是生造出來的。框架
2006年穀歌發表了「BigTable:A Distributed Storage System for Structured Data(一個結構化數據的分佈式存儲系統)」的論文。Powerset公司根據BigTable的思想,發起了HBase,即Hadoop Database。less
2008年1月,Hadoop成爲Apache的頂級項目。背後主要的公司爲雅虎,主要用Hadoop來支撐雅虎的搜索引擎系統。機器學習
2013年 Hadoop 2.0發佈
2017年 Hadoop 3.0 發佈分佈式
Apache Hadoop原始版本
Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,簡稱「CDH」)
Hortonworks版本(Hortonworks Data Platform,簡稱「HDP」)
MapR
此外,還有一些其餘的發行版,如華爲、Intel等。工具
Hadoop從最開始的HDFS和MapReduce發展至今,已經造成一個龐大的生態系統。主要包括:
HDFS:分佈式文件系統
YARN:資源管理與調度系統
MapReduce:分佈式處理框架
Pig、Hive:類SQL的數據查詢
Mahout、Spark MLib:機器學習庫
HBase:分佈式列數據庫
Zookeeper:集羣管理
Oozie:任務調度
Flume、Sqoop:數據導入導出
Solr&Lucene:搜索與索引
Ambari:集羣監控與維護
oop
[1] <u>https://www.edureka.co/blog/hadoop-ecosystem</u>
[2] <u>https://data-flair.training/blogs/hadoop-ecosystem-components/</u>
爲其餘Hadoop模塊提供基礎支持,能夠看作是一個公共庫。
高吞吐量、高可用的分佈式文件系統。
HDSF集羣有兩類節點,以管理節點(NameNode)-工做節點(DataNode)模式運行。
管理文件系統的命名空間,維護着文件系統樹上及整棵樹內全部的文件和目錄。
文件系統的工做節點,負責存儲和檢索數據,並將存儲的塊的列表按期發送給NameNode管理節點。
也叫輔助NameNode,主要做用就是按期合併編輯日誌與命名空間鏡像,以防止編輯日誌過大。
集羣資源管理與任務調度框架
圖片來源:<u>http://hadoop.apache.org/docs/r2.7.6/hadoop-yarn/hadoop-yarn-site/YARN.html</u>
YARN也包含兩個核心服務:資源管理器(ResourceManager)和節點管理器(NodeManager)。
管理集羣上資源的使用
運行在集羣中全部節點上並啓動和監控容器。
大數據並行處理框架
基礎軟件主要包括:
連接:pan.baidu.com/s/1qQxIoR98… 提取碼:wayj
參見Linux基礎視頻課程:www.cniao5.com/course/1024…
[1] <u>http://dicoding.site/archives/388</u> 僞分佈式安裝
[2] <u>http://dicoding.site/archives/209</u> 分佈式安裝
這裏採用Hadoop2.7.7 版本,能夠在官網<u>http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz</u> 或者個人百度網盤:pan.baidu.com/s/1qQxIoR98… 提取碼:wayj
Hadoop主要有四個核心配置文件,以下:
n core-site.xml:配置通用屬性
n hdfs-site.xml:配置HDFS的屬性
n mapred-site.xml:配置MapReduce的屬性
n yarn-site.xml:配置YARN的屬性
以上關於hadoop的視頻講解:https://www.cniao5.com/course/lessons/10244