1.2 Hadoop簡介 1.2.1 什麼是Hadoop Hadoop 是一個適合大數據的分散式存儲和計算平臺 如前所述,狹義上說Hadoop就是一個框架平臺,廣義上講Hadoop代表大數據的一個技術生態 圈,包括很多其他軟體框架 Hadoop生態圈技術棧 Hadoop(HDFS + ...
目錄
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不支持多用戶寫入並任意修改文件。