Hadoop學習路線

Hadoop基礎

Hadoop是一個能夠對大量數據進行分佈式處理的軟件框架,它是一種技術的實現,是雲計算技術中重要的組成部分,雲計算的概念更廣泛且偏向業務而不是必須拘泥於某項具體技術,雲計算的存在只是一種新的商業計算模型和服務模式。因此,雲計算纔會出現“橫看成嶺側成峯,遠近高低各不同”,各種各樣層出不窮的理解。

對於初學hadoop的朋友來說可能基於迫切尋找一本入門的書,我個人覺得不用於急於尋找書,先了解hadoop是否做什麼、它能做什麼、能帶來什麼 hadoop使用場景、Hadoop到底能做什麼?怎麼用hadoop?,當大家對這些有所瞭解,就會如何入手學習hadoop接下來大家應該進行系統性的學習hadoop了,我個人建議不要盲目的去搭建hadoop環境,熟悉瞭解hadoop基本知識及其所需要的知識例如java基礎、linux環境、linux常用命令,它相關產品及其衍生產品,他們之間是什麼關係如何工作,每個產品它們的特點是什麼

hadoop一些基本知識包括:

  • hadoop HDFS文件系統的特徵
  • Hadoop簡介(1):什麼是Map/Reduce
  • Mapreduce 整個工作機制圖
  • Hadoop mapper類的閱讀
  • Hadoop reducer類的閱讀
  • Mapreduce shuffle和排序

上面這些都是hadoop核心部分,當這些有所瞭解後,大家基本上可以具備大家hadoop環境的條了。hadoop部署方式爲單機模式、僞分佈式、完全分佈式。對單機模式大家可以不用去關心和學習,在學習中我個人建議是搭建僞分佈式,完全分佈式是生產環境中使用,當大家把僞分佈式後,必須對完全分佈式有所瞭解,知道是如何工作的,也可以試着搭建hadoop的完成分佈式。現在hadoop已經發行了最新的2.2.x版本,但是不測試不夠全面不夠穩定,大家應該選擇比較穩定的版本學習,因爲在公司中還是會使用穩定的版本,2.2.x版本中一些處理機制和方案是值得我們學習的,需要有所瞭解的是, Hadoop 各個發佈版的特性以及穩定性。

下面是搭建hadoop的安裝步驟:

搭建僞分佈式:hadoop 僞分佈式搭建 完全分佈式:hadoop 三節點集羣安裝配置詳細實例

大家這些有了基礎性的學習後,這時候是比較適合找本書來系統性的學習hadoop。

· Hadoop權威指南(第2版) 分享地址:http://pan.baidu.com/s/1iNuj 密碼:ywwh

有一點想提醒初學的朋友,在學習hadoop開發的時候不要使用hadoop eclipse插件,這樣會給你帶來不必要的問題,你可以在eclipse使用maven工具下載hadoop資源包,然後寫好mapreduce代碼打包後傳上自己的服務,使用命令啓動運行。

Hadoop家族產品

截止到2013年,根據cloudera的統計,Hadoop家族產品已經達到20個!
http://blog.cloudera.com/blog/2013/01/apache-hadoop-in-2013-the-state-of-the-platform/
接下來,我把這20個產品,分成了2類。

第一類,是我已經掌握的
第二類,是TODO準備繼續學習的
HadoopFamilySmall

一句話產品介紹:

  • Apache Hadoop: 是Apache開源組織的一個分佈式計算開源框架,提供了一個分佈式文件系統子項目(HDFS)和支持MapReduce分佈式計算的軟件架構。
  • Apache Hive: 是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射爲一張數據庫表,通過類SQL語句快速實現簡單的- MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。
  • Apache Pig: 是一個基於Hadoop的大規模數據分析工具,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的數據分析請求轉換爲一系列經過優化處理的MapReduce運算。
  • Apache HBase: 是一個高可靠性、高性能、面向列、可伸縮的分佈式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集羣。
  • Apache Sqoop: 是一個用來將Hadoop和關係型數據庫中的數據相互轉移的工具,可以將一個關係型數據庫(MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型數據庫中。
  • Apache Zookeeper: 是一個爲分佈式應用所設計的分佈的、開源的協調服務,它主要是用來解決分佈式應用中經常遇到的一些數據管理問題,簡化分佈式應用協調及其管理的難度,提供高性能的分佈式服務
  • Apache Mahout:是基於Hadoop的機器學習和數據挖掘的一個分佈式框架。Mahout用MapReduce實現了部分數據挖掘算法,解決了並行挖掘的問題。
  • Apache Cassandra:是一套開源分佈式NoSQL數據庫系統。它最初由Facebook開發,用於儲存簡單格式數據,集Google BigTable的數據模型與Amazon Dynamo的完全分佈式的架構於一身
  • Apache Avro: 是一個數據序列化系統,設計用於支持數據密集型,大批量數據交換的應用。Avro是新的數據序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制
  • Apache Ambari: 是一種基於Web的工具,支持Hadoop集羣的供應、管理和監控。
  • Apache Chukwa: 是一個開源的用於監控大型分佈式系統的數據收集系統,它可以將各種各樣類型的數據收集成適合 Hadoop 處理的文件保存在 HDFS 中供 Hadoop 進行各種 MapReduce 操作。
  • Apache Hama: 是一個基於HDFS的BSP(Bulk Synchronous Parallel)並行計算框架, Hama可用於包括圖、矩陣和網絡算法在內的大規模、大數據計算。
  • Apache Flume: 是一個分佈的、可靠的、高可用的海量日誌聚合的系統,可用於日誌數據收集,日誌數據處理,日誌數據傳輸。
  • Apache Giraph: 是一個可伸縮的分佈式迭代圖處理系統, 基於Hadoop平臺,靈感來自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。
  • Apache Oozie: 是一個工作流引擎服務器, 用於管理和協調運行在Hadoop平臺上(HDFS、Pig和MapReduce)的任務。
    Apache Crunch: 是基於Google的FlumeJava庫編寫的Java庫,用於創建MapReduce程序。與Hive,Pig類似,Crunch提供了用於實現如連接數據、執行聚合和排序記錄等常見任務的模式庫
  • Apache Whirr: 是一套運行於雲服務的類庫(包括Hadoop),可提供高度的互補性。Whirr學支持Amazon EC2和Rackspace的服務。
  • Apache Bigtop: 是一個對Hadoop及其周邊生態進行打包,分發和測試的工具。
  • Apache HCatalog: 是基於Hadoop的數據表和存儲管理,實現中央的元數據和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供關係視圖。
  • Cloudera Hue: 是一個基於WEB的監控和管理系統,實現對HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。

Hadoop家族學習路線圖

下面我將分別介紹各個產品的安裝和使用,以我經驗總結我的學習路線。

  • Hadoop
    Hadoop學習路線(參考Hadoop基礎)
    Yarn學習路線圖
    用Maven構建Hadoop項目
    Hadoop歷史版本安裝
    Hadoop編程調用HDFS
    海量Web日誌分析 用Hadoop提取KPI統計指標
    用Hadoop構建電影推薦系統
    創建Hadoop母體虛擬機
    克隆虛擬機增加Hadoop節點
    R語言爲Hadoop注入統計血脈
    RHadoop實踐系列之一 Hadoop環境搭建

  • Hive
    Hive學習路線圖
    Hive安裝及使用攻略
    Hive導入10G數據的測試
    R利劍NoSQL系列文章 之 Hive
    用RHive從歷史數據中提取逆回購信息

  • Pig
    Pig學習路線圖

  • Zookeeper
    Zookeeper學習路線圖
    ZooKeeper僞分步式集羣安裝及使用
    ZooKeeper實現分佈式隊列Queue
    ZooKeeper實現分佈式FIFO隊列

  • HBase
    HBase學習路線圖
    RHadoop實踐系列之四 rhbase安裝與使用

  • Mahout
    Mahout學習路線圖
    用R解析Mahout用戶推薦協同過濾算法(UserCF)
    RHadoop實踐系列之三 R實現MapReduce的協同過濾算法
    用Maven構建Mahout項目
    Mahout推薦算法API詳解
    從源代碼剖析Mahout推薦引擎
    Mahout分步式程序開發 基於物品的協同過濾ItemCF
    Mahout分步式程序開發 聚類Kmeans
    用Mahout構建職位推薦引擎

  • Sqoop
    Sqoop學習路線圖

  • Cassandra
    Cassandra學習路線圖
    Cassandra單集羣實驗2個節點
    R利劍NoSQL系列文章 之 Cassandra

Hadoop課程資源###

《十節課帶你走進hadoop世界》

《Hadoop從入門上手工作》

《hadoop之DataGuru視頻》

《Hadoop數據分析》

《雲計算hadoop實戰視頻》

《Cloudera Hadoop課程培訓》

《大數據戰略規劃班》

一張學習框架圖

這裏寫圖片描述

發佈了67 篇原創文章 · 獲贊 128 · 訪問量 54萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章