一、為何要學習Hadoop?
這是一個信息爆炸的時代。經過數十年的積累,很多企業都聚集了大量的數據。這些數據也是企業的核心財富之一,怎樣從累積的數據里尋找價值,變廢為寶煉數成金成為當務之急。但數據增長的速度往往比cpu和內存性能增長的速度還要快得多。要處理海量數據,如果求助於昂貴的專用主機甚至超級計算機,成本無疑很高,有時即使是保存數據,也需要面對高成本的問題,因為具有海量數據容量的存儲設備,價格往往也是天文數字。成本和IT能力成為了海量數據分析的主要瓶頸。
Hadoop這個開源產品的出現,打破了對數據力量的壓制。Hadoop源於Nutch這個小型的搜索引擎項目。而Nutch則出自於著名的開源搜索引擎解決方案Lucene,而Lucene則來源於對Google的學習模仿。在Hadoop身上有着明顯的Google的影子。HDFS是GFS的山寨版,Map-Reduce的思想來源於Goolge對Page rank的計算方法,HBase模仿的是Big Table,Zookeeper則學習了Chubby。Google巨人的力量盡管由於商業的原因被層層封鎖,但在Hadoop身上得到了完美的重生和發展。
從2006年Apache基金會接納Hadoop項目以來。Hadoop已經成為雲計算軟件的一個事實標准,以及開源雲計算解決方案的幾乎唯一選擇。對於想用低成本(包括軟硬件)實現雲計算平台或海量數據分析平台的用戶,Hadoop集群是首選的對象。由於Hadoop在各方面都打破了傳統關系型數據庫的思路和模式,對於新接觸Hadoop平台的人,往往會覺得困惑和難以理解,進而轉化為畏懼。
因此,為了趕上大數據時代的發展,迎接雲計算的思維,盡管我做的是.NET的應用開發工作,但我仍然選擇業余時間學習Hadoop。我會從Hadoop1.x版本開始學習經典的HDFS與MapReduce,然后了解Hadoop2.x版本與老版本的差異,熟悉一些常見的Hadoop應用場景,並學着實踐一個最經典的項目(網站日志數據分析案例)來完成我給自己規划的學習任務。
二、Hadoop筆記系列索引
2.1 基礎環境部分:
(1)基礎介紹與環境搭建
(13)分布式集群中節點的動態添加與下架
2.2 HDFS部分:
2.3 MapReduce部分:
(4)初識MapReduce
(7)計數器與自定義計數器
(11)MapReduce中的排序和分組
(12)MapReduce中的常見算法
2.4 ZooKeeper部分:
(14)ZooKeeper環境搭建
2.5 HBase部分:
(15)HBase框架學習之基礎知識篇
(15)HBase框架學習之基礎實踐篇
2.6 Pig部分:
(16)Pig框架學習
2.7 Hive部分:
(17)Hive框架學習
2.8 Sqoop部分:
(18)Sqoop框架學習
2.9 Flume部分:
(19)Flume框架學習
2.10 項目實戰部分:
(20)網站日志分析項目(一)項目介紹
(20)網站日志分析項目(二)數據清洗
(20)網站日志分析項目(三)統計分析
2.11 Hadoop2部分:
(21)Hadoop2的改進內容簡介
(22)Hadoop2.x環境搭建與配置