1. 程式人生 > 其它 >1.2 Hadoop簡介-hadoop-最全最完整的保姆級的java大資料學習資料

1.2 Hadoop簡介-hadoop-最全最完整的保姆級的java大資料學習資料

目錄

1.2 Hadoop簡介

1.2.1 什麼是Hadoop

​ Hadoop 是一個適合大資料的分散式儲存和計算平臺

​ 如前所述,狹義上說Hadoop就是一個框架平臺,廣義上講Hadoop代表大資料的一個技術生態 圈,包括很多其他軟體框架

Hadoop生態圈技術棧

​ Hadoop(HDFS + MapReduce + Yarn)

​ Hive 資料倉庫工具

​ HBase 海量列式非關係型資料庫

​ Flume 資料採集工具

​ Sqoop ETL工具

​ Kafka 高吞吐訊息中介軟體

​ ......

1.2.2 Hadoop的起源

Hadoop 的發展歷程可以用如下過程概述:
Nutch —> Google論文(GFS、MapReduce)—> Hadoop產生 —> 成為Apache頂級專案—> Cloudera公司成立(Hadoop快速發展)

  • Hadoop最早起源於Nutch,Nutch 的創始人是Doug Cutting
    Nutch 是一個開源 Java 實現的搜尋引擎。它提供了我們執行自己的搜尋引擎所需的全部工具。包括全文搜尋和Web爬蟲,但隨著抓取網頁數量的增加,遇到了嚴重的可擴充套件性問題——如何解決數十億網頁的儲存和索引問題
  • 2003年、2004年穀歌發表的兩篇論文為該問題提供了可行的解決方案。GFS,可用於處理海量網頁的儲存;MapReduce,可用於處理海量網頁的索引計算問題

​ Google的三篇論文(三駕馬車)
​ GFS:Google的分散式檔案系統(Google File System)
​ MapReduce:Google的分散式計算框架
​ BigTable:大型分散式資料庫
​ 發展演變關係:
​ GFS —> HDFS
​ Google MapReduce —> Hadoop MapReduce
​ BigTable —> HBase

  • 隨後,Google公佈了部分GFS和MapReduce思想的細節,Doug Cutting等人用2年的業餘時間實 現了DFS和MapReduce機制,使Nutch效能飆升
  • 2005年,Hadoop 作為Lucene的子專案Nutch的一部分引入Apache
  • 2006年,Hadoop從Nutch剝離出來獨立
  • 2008年,Hadoop成為Apache的頂級專案
  • Hadoop這個名字來源於Hadoop之父Doug Cutting兒子的毛絨玩具象

1.2.3 Hadoop的特點

1.2.4 Hadoop的發行版本

​ 目前Hadoop發行版非常多,有Cloudera發行版(CDH)、Hortonworks發行版、華為發行版、 Intel發行版等,所有這些發行版均是基於Apache Hadoop衍生出來的,之所以有這麼多的版本,是由Apache Hadoop的開源協議決定的(任何人可以對其進行修改,並作為開源或商業產品釋出/銷售)

​ 企業中主要用到的三個版本分別是:Apache Hadoop版本(最原始的,所有發行版均基於這個版本進行改進)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,簡稱“CDH”)、 Hortonworks版本(Hortonworks Data Platform,簡稱“HDP”)。

  • Apache Hadoop 原始版本
    官網地址:http://hadoop.apache.org/
    優點:擁有全世界的開源貢獻,程式碼更新版本比較快
    缺點:版本的升級,版本的維護,以及版本之間的相容性,學習非常方便
    Apache所有軟體的下載地址(包括各種歷史版本):http://archive.apache.org/dist/
  • 軟體收費版本ClouderaManager CDH版本 --生產環境使用
    官網地址:https://www.cloudera.com/
    Cloudera主要是美國一家大資料公司在Apache開源Hadoop的版本上,通過自己公司內部的各種補丁,實現版本之間的穩定執行,大資料生態圈的各個版本的軟體都提供了對應的版本,解決了版本的升級困難,版本相容性等各種問題,生產環境強烈推薦使用
  • 免費開源版本HortonWorks HDP版本--生產環境使用
    官網地址:https://hortonworks.com/
    hortonworks主要是雅虎主導Hadoop開發的副總裁,帶領二十幾個核心成員成立Hortonworks, 核心產品軟體HDP(ambari),HDF免費開源,並且提供一整套的web管理介面,供我們可以通過web介面管理我們的叢集狀態,web管理介面軟體HDF網址(http://ambari.apache.org/)

1.2.5 Apache Hadoop版本更迭

0.x 系列版本:Hadoop當中最早的一個開源版本,在此基礎上演變而來的1.x以及2.x的版本
1.x 版本系列:Hadoop版本當中的第二代開源版本,主要修復0.x版本的一些bug等
2.x 版本系列:架構產生重大變化,引入了yarn平臺等許多新特性
3.x 版本系列:EC技術、YARN的時間軸服務等新特性

1.2.6 第六節 Hadoop的優缺點

Hadoop的優點

  • Hadoop具有儲存和處理資料能力的高可靠性。
  • Hadoop通過可用的計算機叢集分配資料,完成儲存和計算任務,這些叢集可以方便地擴充套件到數以千計的節點中,具有高擴充套件性。
  • Hadoop能夠在節點之間進行動態地移動資料,並保證各個節點的動態平衡,處理速度非常快,具有高效性。
  • Hadoop能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配,具有高容錯性。

Hadoop的缺點

  • Hadoop不適用於低延遲資料訪問。
  • Hadoop不能高效儲存大量小檔案。
  • Hadoop不支援多使用者寫入並任意修改檔案。