1. 程式人生 > >2.1 Hadoop簡介

2.1 Hadoop簡介

第2章 Hadoop快速入門

2.1 Hadoop簡介

2.1.1 Hadoop編年史

(1)2002年10月,Doug Cutting和Mike Cafarella建立了開源網頁爬蟲專案Nutch。

(2)2003 年 Google 發表了一篇技術學術論文關於 Google 檔案系統(GFS)。GFS 也就是 Google File System,是 Google 公司為了儲存海量搜尋資料而設計的專用檔案系統。

(3)2004年7月,Doug Cutting和Mike Cafarella在Nutch中實現了類似GFS的功能,即後來HDFS的前身。

(4)2004年 Google 又發表了一篇技術學術論文,向全世界介紹了 MapReduce。2005年 Doug Cutting 又基於 MapReduce,在 Nutch 搜尋引擎實現了該功能。

(5)2005年2月,Mike Cafarella在Nutch中實現了MapReduce的最初版本。

(6)2006年1月,Doug Cutting加入Yahoo!(雅虎)。Doug Cutting 將 NDFS 和MapReduce 升級命名為 Hadoop,Hadoop正式誕生!Yahoo! 開建了一個獨立的團隊給 Goug Cutting 專門研究發展 Hadoop。

(7)2006年2月,Apache Hadoop專案正式啟動以支援MapReduce和HDFS的獨立發展。

(8)2006年11月,Google發表了Bigtable論文,這最終激發了HBase的建立。

(9)2007年,百度、中國移動開始使用使用Hadoop技術。

(9)2008年1月,Hadoop 成為了 Apache 頂級專案。之後 Hadoop 被成功的應用在了其他公司,其中包括 Last.fm、Facebook、《紐約時報》等。

(10)2008年6月,Hadoop的第一個SQL框架——Hive成為了Hadoop的子專案。

(11)2009 年3月,Cloudera推出世界上首個Hadoop發行版——CDH(Cloudera’s Distribution including Apache Hadoop)平臺,完全由開放原始碼軟體組成。

(12)2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成為Hadoop專案的獨立子專案。

(13)2009年10月,首屆Hadoop World大會在紐約召開。

(14)2011年1月,ZooKeeper 脫離Hadoop,成為Apache頂級專案。

(15)2011年7月,Yahoo!和矽谷風險投資公司 Benchmark Capital建立了Hortonworks 公司,旨在讓Hadoop更加可靠,並讓企業使用者更容易安裝、管理和使用Hadoop。

(16)2012年3月,企業必須的重要功能HDFS NameNode HA被加入Hadoop主版本。

(17)2012年8月,另外一個重要的企業適用功能YARN成為Hadoop子專案。

(18)2014年2月,Spark逐漸代替MapReduce成為Hadoop的預設執行引擎,併成為Apache基金會頂級專案。

這裡寫圖片描述

2.1.2 Hadoop 核心元件

Hadoop 包含以下模組:

  • Hadoop Common:常見實用工具,用來支援其他 Hadoop 模組。
  • Hadoop Distributed File System(HDFS):分散式檔案系統,它提供對應用程式資料的高吞吐量訪問。
  • Hadoop YARN:一個作業排程和叢集資源管理框架。
  • Hadoop MapReduce:基於 YARN 的大型資料集的並行處理系統。

其他與 Apache Hadoop 的相關專案包括:

  • Ambari:一個基於Web 的工具,用於配置、管理和監控的 Apache Hadoop 叢集,其中包括支援 Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig 和 Sqoop。Ambari 還提供了儀表盤檢視叢集的健康,如熱圖,並能夠以使用者友好的方式來檢視的 MapReduce、Pig 和 Hive 應用,方便診斷其效能。
  • HBase:一個可擴充套件的分散式資料庫,支援結構化資料的大表儲存。
  • Hive:資料倉庫基礎設施,提供資料彙總以及特定的查詢。
  • Mahout:一種可擴充套件的機器學習和資料探勘庫。
  • Pig:一個高層次的資料流平行計算語言和執行框架。
  • Spark:Hadoop 資料的快速和通用計算引擎。Spark 提供了簡單和強大的程式設計模型用以支援廣泛的應用,其中包括 ETL、機器學習、流處理和圖形計算。
  • ZooKeeper:一個高效能的分散式應用程式協調服務。

2.1.3 Hadoop三大發行版

(1) Apache Hadoop

Apache Hadoop最原始版本,所有其他發行版均基於該發行版實現的。

官網地址http://hadoop.apache.org/,Logo如下

這裡寫圖片描述

  • 0.23.x :非穩定版
  • 2.x :最新版是2.8.0,建議使用2.7.3穩定版。
  • 3.0:已發行多個測試版,正式穩定版尚未釋出

    (2)CDH 
    CDH(Cloudera’s Distribution for Hadoop)是Cloudera 公司的的Hadoop 發行版。

官方是https://www.cloudera.com/,Logo如下。

這裡寫圖片描述

包含CDH4 和CDH5 兩個版本 
CDH4 ;基於Apache Hadoop 0.23.0 版本開發 
CDH5 :基於Apache Hadoop 2.2.0 版本開發

(3)HDP

HDP(The Hortonworks Data Platform)是Hortonworks 公司的發行版。

官網地址是https://hortonworks.com/,Logo如下。

這裡寫圖片描述

(4) 發行版選擇 
- 作為學習,建議選擇Apache Hadoop最新的穩定版; 
- 作為工作(生產環境),建議選擇CDH或HDP穩定版。

(5) 不同發行版相容性

架構、部署和使用方法一致,不同之處僅在若干內部實現。

第2章 Hadoop快速入門

2.1 Hadoop簡介

2.1.1 Hadoop編年史

(1)2002年10月,Doug Cutting和Mike Cafarella建立了開源網頁爬蟲專案Nutch。

(2)2003 年 Google 發表了一篇技術學術論文關於 Google 檔案系統(GFS)。GFS 也就是 Google File System,是 Google 公司為了儲存海量搜尋資料而設計的專用檔案系統。

(3)2004年7月,Doug Cutting和Mike Cafarella在Nutch中實現了類似GFS的功能,即後來HDFS的前身。

(4)2004年 Google 又發表了一篇技術學術論文,向全世界介紹了 MapReduce。2005年 Doug Cutting 又基於 MapReduce,在 Nutch 搜尋引擎實現了該功能。

(5)2005年2月,Mike Cafarella在Nutch中實現了MapReduce的最初版本。

(6)2006年1月,Doug Cutting加入Yahoo!(雅虎)。Doug Cutting 將 NDFS 和MapReduce 升級命名為 Hadoop,Hadoop正式誕生!Yahoo! 開建了一個獨立的團隊給 Goug Cutting 專門研究發展 Hadoop。

(7)2006年2月,Apache Hadoop專案正式啟動以支援MapReduce和HDFS的獨立發展。

(8)2006年11月,Google發表了Bigtable論文,這最終激發了HBase的建立。

(9)2007年,百度、中國移動開始使用使用Hadoop技術。

(9)2008年1月,Hadoop 成為了 Apache 頂級專案。之後 Hadoop 被成功的應用在了其他公司,其中包括 Last.fm、Facebook、《紐約時報》等。

(10)2008年6月,Hadoop的第一個SQL框架——Hive成為了Hadoop的子專案。

(11)2009 年3月,Cloudera推出世界上首個Hadoop發行版——CDH(Cloudera’s Distribution including Apache Hadoop)平臺,完全由開放原始碼軟體組成。

(12)2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成為Hadoop專案的獨立子專案。

(13)2009年10月,首屆Hadoop World大會在紐約召開。

(14)2011年1月,ZooKeeper 脫離Hadoop,成為Apache頂級專案。

(15)2011年7月,Yahoo!和矽谷風險投資公司 Benchmark Capital建立了Hortonworks 公司,旨在讓Hadoop更加可靠,並讓企業使用者更容易安裝、管理和使用Hadoop。

(16)2012年3月,企業必須的重要功能HDFS NameNode HA被加入Hadoop主版本。

(17)2012年8月,另外一個重要的企業適用功能YARN成為Hadoop子專案。

(18)2014年2月,Spark逐漸代替MapReduce成為Hadoop的預設執行引擎,併成為Apache基金會頂級專案。

這裡寫圖片描述

2.1.2 Hadoop 核心元件

Hadoop 包含以下模組:

  • Hadoop Common:常見實用工具,用來支援其他 Hadoop 模組。
  • Hadoop Distributed File System(HDFS):分散式檔案系統,它提供對應用程式資料的高吞吐量訪問。
  • Hadoop YARN:一個作業排程和叢集資源管理框架。
  • Hadoop MapReduce:基於 YARN 的大型資料集的並行處理系統。

其他與 Apache Hadoop 的相關專案包括:

  • Ambari:一個基於Web 的工具,用於配置、管理和監控的 Apache Hadoop 叢集,其中包括支援 Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig 和 Sqoop。Ambari 還提供了儀表盤檢視叢集的健康,如熱圖,並能夠以使用者友好的方式來檢視的 MapReduce、Pig 和 Hive 應用,方便診斷其效能。
  • HBase:一個可擴充套件的分散式資料庫,支援結構化資料的大表儲存。
  • Hive:資料倉庫基礎設施,提供資料彙總以及特定的查詢。
  • Mahout:一種可擴充套件的機器學習和資料探勘庫。
  • Pig:一個高層次的資料流平行計算語言和執行框架。
  • Spark:Hadoop 資料的快速和通用計算引擎。Spark 提供了簡單和強大的程式設計模型用以支援廣泛的應用,其中包括 ETL、機器學習、流處理和圖形計算。
  • ZooKeeper:一個高效能的分散式應用程式協調服務。

2.1.3 Hadoop三大發行版

(1) Apache Hadoop

Apache Hadoop最原始版本,所有其他發行版均基於該發行版實現的。

官網地址http://hadoop.apache.org/,Logo如下

這裡寫圖片描述

  • 0.23.x :非穩定版
  • 2.x :最新版是2.8.0,建議使用2.7.3穩定版。
  • 3.0:已發行多個測試版,正式穩定版尚未釋出

    (2)CDH 
    CDH(Cloudera’s Distribution for Hadoop)是Cloudera 公司的的Hadoop 發行版。

官方是https://www.cloudera.com/,Logo如下。

這裡寫圖片描述

包含CDH4 和CDH5 兩個版本 
CDH4 ;基於Apache Hadoop 0.23.0 版本開發 
CDH5 :基於Apache Hadoop 2.2.0 版本開發

(3)HDP

HDP(The Hortonworks Data Platform)是Hortonworks 公司的發行版。

官網地址是https://hortonworks.com/,Logo如下。

這裡寫圖片描述

(4) 發行版選擇 
- 作為學習,建議選擇Apache Hadoop最新的穩定版; 
- 作為工作(生產環境),建議選擇CDH或HDP穩定版。

(5) 不同發行版相容性

架構、部署和使用方法一致,不同之處僅在若干內部實現。