一起學Hadoop——Hadoop的前世今生
來自專欄一起學大數據
Hadoop是什麼?
Hadoop是一個處理海量數據的開源框架。2002年Nutch項目面世,這是一個爬取網頁工具和搜索引擎系統,和其他眾多的工具一樣,都遇到了在處理海量數據時效率低下,無法存儲爬取網頁和搜索網頁時產生的海量數據的問題。2003年谷歌發布了一篇論文,專門介紹他們的分散式文件存儲系統GFS。鑒於GFS在存儲超大文件方面的優勢,Nutch按照GFS的思想在2004年實現了Nutch的開源分散式文件系統,即NDFS。2004年谷歌發布了另一篇論文,專門介紹他們處理大數據的計算框架MapReduce,2005年初Nutch開發人員在Nutch上實現了開源的MapReduce,這就是Hadoop的雛形。2006年Nutch將NDFS和MapReduce遷出Nutch,並命名為Hadoop,同時雅虎公司專門為Hadoop建立一個團隊,將其發展成為能夠處理海量數據的Web框架,2008年Hadoop成為Apache的頂級項目。
2007年9月發布hadoop 0.14.1,第一個穩定版本。
2009年4月發布hadoop 0.20.0版本。
2011年12月發布hadoop 1.0.0版本,這是經過將近6年的醞釀後發布的一個版本,該版本基於0.20安全代碼線,增加如下的功能:
安全,
Hbase(append/hsynch/hflush和security)
webhdfs(完全支持安全)
增加HBase訪問本地文件系統的性能
2.12年5月發布hadoop 2.0.0-alpha,則是hadoop-2.X系列的第一個版本,增加很多重要的特性:
1、NameNode HA(High Availability高可靠性),當主NameNode掛掉時,備用NameNode可以快速啟動,成為主NameNode節點,向外提供服務。
2、HDFS Federation。
3、YARN aka NextGen MapReduce。
2017年9月份發布Hadoop 3.0.0 generally版本,這是hadoop 3.x系列的第一個版本。
目前市面上還是以Hadoop2.x系列為主,Hadoop3.x還沒正式的運用到生產系統中。
一句話總結:Hadoop是開源的大數據處理框架,分為處理數據的MapReduce和存儲數據的HDFS。
Hadoop能做什麼?
Hadoop可以用來處理海量數據,對數據進行分析。現在互聯網企業每天都產生大量的日誌數據,有的甚至達到PB級別,像國外的facebook,twitter,國內的阿里、騰訊、京東、百度等企業。在Haddop沒出現之前,都是用小型機處理數據,價格昂貴不說,還耗費時間,Hadoop面世之後,可以使用廉價機器搭建Hadoop集群,一台小型機的價格就可以搭建起一個20個節點的Hadoop集群。2007年雅虎在900個節點的hadoop集群上對1T的數據進行排序只需要209秒,引起業界的關注,從此Haddoop逐漸成為大數據處理的標準,眾多廠商紛紛向其靠攏。目前國內的互聯網企業對Hadoop的使用都比較成熟,在2015年的時候百度的Hadoop集群就達到4000個節點。
Hadoop的缺點
Hadoop適合處理海量的離線數據,對於處理實時數據卻不合適,例如實時股票交易分析。實時海量數據處理目前有比較好的框架,分別是Spark Streaming,Storm,Flink。他們也都是基於Hadoop的基礎上實現的,數據Hadoop生態系統中的一員。
Hadoop生態框架
現在我們講Hadoop,泛指Hadoop生態系統中的各種組件,包括用於構架數據倉庫和分析數據的Hive,基於HDFS的列式資料庫HBase,實時數據處理框架Flink、Storm、Spark Streaming等。下圖是Hadoop的生態系統圖。
推薦閱讀:
※科技領域的143位億萬富翁,有一半在矽谷
※雙胞胎,一樣也不一樣———— | 健康朝九晚五主題站 | 果殼網 科技有意思
※Mac 電腦如何卸載 node
※伺服器維護教程 軟硬體維護注意事項!
※怎麼做可以防止網站SEO成果被抄襲