hadoop是個什麼玩意

    Hadoop是一個由Apache基金會所開發的分佈式系統基礎架構。用戶可以在不瞭解分佈式底層細節的情況下,開發分佈式程序。充分利用集羣的威力進行高速運算和存儲。Hadoop實現了一個分佈式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,並且設計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應用程序的數據,適合那些有着超大數據集(large data set)的應用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統中的數據。Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS爲海量的數據提供了存儲,而MapReduce則爲海量的數據提供了計算 [1]  。

官方網站: http://hadoop.apache.org/

大部分情況下我們可以將hadoop理解成hadoop的生態圈 ,如圖:

  1. HDFS:(Hadoop Distribute File System)分佈式文件系統,海量數據存儲解決方案
  2. MapReduce:Hadoop的分佈式運算編程框架
  3. Yarn:分佈式資源調度平臺和任務監控平臺
  4. Commons: HADOOP底層技術支持  

 

 

Apache Hadoop軟件庫是一個框架,該框架允許使用簡單的編程模型跨計算機集羣對大型數據集進行分佈式處理。它旨在從單個服務器擴展到數千臺機器,每臺機器都提供本地計算和存儲。庫本身不是設計用來依靠硬件來提供高可用性,而是旨在檢測和處理應用程序層的故障,因此可以在計算機集羣的頂部提供高可用性的服務,而每臺計算機都容易出現故障。

它解決了兩大問題:大數據存儲、大數據分析。也就是 Hadoop 的兩大核心:HDFS 和 MapReduce。

  1. hadoop的發展史

2002~2004 年,第一輪互聯網泡沫剛剛破滅,很多互聯網從業人員都失業了。我們們的“主角" Doug Cutting 也不例外,他只能寫點技術文章賺點稿費來養家餬口。但是 Doug Cutting 不甘寂寞,懷着對夢想和未來的渴望,與他的好朋友 Mike Cafarella 一起開發出一個開源的搜索引擎 Nutch,並歷時一年把這個系統做到能支持億級網頁的搜索。但是當時的網頁數量遠遠不止這個規模,所以兩人不斷改進,想讓支持的網頁量再多一個數量級。

在 2003 年和 2004 年, Googles 分別公佈了 GFS 和 Mapreduce 兩篇論文。 Doug Cutting 和 Mike Cafarella 發現這與他們的想法不盡相同,且更加完美,完全脫離了人工運維的狀態,實現了自動化。

在經過一系列周密考慮和詳細總結後,2006 年, Dog Cutting 放奔創業,隨後幾經周折加入了 yahoo 公司(Nutch 的部分也被正式引入),機綠巧合下,他以自己兒子的一個玩具大象的名字 Hadoop 命名了該項。

當系統進入 Yahoo 以後,項目逐漸發展併成熟了起來。首先是集羣規模,從最開始幾十臺機器的規模發展到能支持上千個節點的機器,中間做了很多工程性質的工作;然後是除搜索以外的業務開發, Yahoo 逐步將自己廣告系統的數據挖掘相關工作也遷移到了 Hadoop 上,使 Hadoop 系統進一步成熟化了。

2007 年,紐約時報在 100 個亞馬遜的虛擬機服務器上使用 Hadoop 轉換了 4TB 的圖片數據更加加深了人們對 Hadoope 的印象。

在 2008 年的時侯,一位 Google 的工程師發現要把當時的 Hadoop 放到任意一個集羣中去運是一件很困難的事情,所以就與幾個好朋友成立了ー個專門商業化 Hadoop 的公司 Cloudera。同年, Facebook 團隊發現他們很多人不會寫 Hadoop 的程序,而對 SQL 的一套東西很熟,所以他們就在 Hadoop 上構建了一個叫作 Hive 的軟件,專把 SQL 轉換爲 Hadoop 的 Mapreduce 程序。

2011年, Yahoo 將 Hadoop 團隊獨立出來,成立了ー個子公司 Hortonworks,專門提供 Hadoop 相關的服務。

2   hadoop的三大發型版本

Hadoop三大發行版本:Apache、Cloudera、Hortonworks。

  1. Apache版本最原始(最基礎)的版本,對於入門學習最好。
  2. Cloudera在大型互聯網企業中用的較多。
  3. Hortonworks文檔較好。

1 Apache Hadoop

官網地址:http://hadoop.apache.org/releases.html

下載地址:https://archive.apache.org/dist/hadoop/common/

2 Cloudera Hadoop

官網地址:https://www.cloudera.com/downloads/cdh/5-10-0.html

下載地址:http://archive-primary.cloudera.com/cdh5/cdh/5/

(1)2008年成立的Cloudera是最早將Hadoop商用的公司,爲合作伙伴提供Hadoop的商用解決方案,主要是包括支持、諮詢服務、培訓。

(2)2009年Hadoop的創始人Doug Cutting也加盟Cloudera公司。Cloudera產品主要爲CDH,Cloudera Manager,Cloudera Support

(3)CDH是Cloudera的Hadoop發行版,完全開源,比Apache Hadoop在兼容性,安全性,穩定性上有所增強。

(4)Cloudera Manager是集羣的軟件分發及管理監控平臺,可以在幾個小時內部署好一個Hadoop集羣,並對集羣的節點及服務進行實時監控。Cloudera Support即是對Hadoop的技術支持。

(5)Cloudera的標價爲每年每個節點4000美元。Cloudera開發並貢獻了可實時處理大數據的Impala項目。

3.Hortonworks Hadoop

官網地址:https://hortonworks.com/products/data-center/hdp/

下載地址:https://hortonworks.com/downloads/#data-platform

(1)2011年成立的Hortonworks是雅虎與硅谷風投公司Benchmark Capital合資組建。

(2)公司成立之初就吸納了大約25名至30名專門研究Hadoop的雅虎工程師,上述工程師均在2005年開始協助雅虎開發Hadoop,貢獻了Hadoop80%的代碼。

(3)雅虎工程副總裁、雅虎Hadoop開發團隊負責人Eric Baldeschwieler出任Hortonworks的首席執行官。

(4)Hortonworks的主打產品是Hortonworks Data Platform(HDP),也同樣是100%開源的產品,HDP除常見的項目外還包括了Ambari,一款開源的安裝和管理系統。

(5)HCatalog,一個元數據管理系統,HCatalog現已集成到Facebook開源的Hive中。Hortonworks的Stinger開創性的極大的優化了Hive項目。Hortonworks爲入門提供了一個非常好的,易於使用的沙盒。

(6)Hortonworks開發了很多增強特性並提交至核心主幹,這使得Apache Hadoop能夠在包括Window Server和Windows Azure在內的Microsoft Windows平臺上本地運行。定價以集羣爲基礎,每10個節點每年爲12500美元。

 

3    hadoop的特點

(1) 高可靠性  :Hadoop底層將數據以多個副本的形式存儲在不同的機器上,保證數據的安全可靠。

(2) 高擴展性 :當存儲hdp集羣的存儲能力和運算資源不足時,可以橫向的擴展機器節點來達到擴容和增強運算能力 。

(3) 高效性 :在MapReduce的思想下能夠在節點之間動態地移動運算,且是分佈式並行工作的,所以運海量數據非常高效。

(4) 高容錯性 : Hadoop能夠自動保存數據的多個副本,當有存儲數據的節點宕機以後, 會自動的複製副本維持集羣中副本的個數 ,並且能夠自動將失敗的任務重新分配。

(5) 低成本 :hadoop可以運行在廉價的機器上並行工作,達到高效,安全,效率於一身目的。

 

​​​​​​​​​​​​​​4    hadoop學習核心內容

  1. HDFS:(Hadoop Distribute File System)分佈式文件系統,海量數據存儲解決方案
  2. MapReduce:Hadoop的分佈式運算編程框架
  3. Yarn:分佈式資源調度平臺和任務監控平臺

Commons: HADOOP底層技術支持

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章