Hadoop大數據學習線路圖

轉:http://www.ppvke.com/Blog/archives/3243

Hadoop大數據學習線路圖

入門知識

對於我們新手入門學習hadoop的朋友來說,首先了解一下雲計算和雲計算技術是有必要的。下面先是介紹雲計算和雲計算技術的:

雲計算,是一種基於互聯網的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計算機和其他設備,主要是基於互聯網的相關服務地增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網絡、互聯網的一種比喻說法。過去在圖中往往用雲來表示電信網,後來也用來表示互聯網和底層基礎設施的抽象。狹義雲計算指IT基礎設施的交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需資源;廣義雲計算指服務地交付和使用模式,指通過網絡以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟件、互聯網相關,也可是其他服務。它意味着計算也可作爲一種商品通過互聯網進行流通。

 什麼是雲計算?

什麼是雲計算技術?

在世界上雲計算已經大面流行,有很流行的Google、DriveSkyDriveDropbox、亞馬遜雲服務等等。在國內百度雲存儲、360雲存儲都是比較流行的。

我們接下來就應該會想到大數據存儲,目前開源市場上最流行的應該是hadoop分佈式存儲,已經有大部分互聯網公司已經開始使用,例如百度、360、阿里巴巴,其中一部分公司已經hadoop作爲他們的核心產品例如英特爾、IBM併爲部分工作提供過大數據的解決方案,

大家可以瞭解一下英特爾在不行業提供的解決方案:

· 面向智能交通的大數據和英特爾® 智能系統解決方案

· 物聯網商機和技術挑戰(英特爾)

· 大數據在醫療行業的應用

· 英特爾IT開源混合雲

 Hadoop基礎

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

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

下面是hadoop一些基本知識:

hadoop HDFS文件系統的特徵

    • 存儲極大數目的信息(terabytes or petabytes),將數據保存到大量的節點當中。支持很大單個文件。
    • 提供數據的高可靠性,單個或者多個節點不工作,對系統不會造成任何影響,數據仍然可用。
    • 提供對這些信息的快速訪問,並提供可擴展的方式。能夠通過簡單加入更多服務器的方式就能夠服務更多的客戶端。
    • HDFS是針對MapReduce設計的,使得數據儘可能根據其本地局部性進行訪問與計算。

Hadoop簡介(1):什麼是Map/Reduce

Mapreduce 整個工作機制圖

205347vyzpuuh8iq8i2i8z

4 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相關文檔下載 鏈接: http://pan.baidu.com/s/1gdwtu1t 密碼: slml

有一點想提醒初學的朋友,在學習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/

QQ截圖20140425120600

接下來,我把這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

Hive

Pig

Zookeeper

HBase

Mahout

Sqoop

Cassandra

Hadoop課程資源

十節課帶你走進hadoop世界

Hadoop從入門上手工作

hadoop之DataGuru視頻

Hadoop數據分析

雲計算hadoop實戰視頻

Cloudera Hadoop課程培訓

大數據戰略規劃班


About http://www.aboutyun.com  此網站資源多

hadoop入門視頻 :http://www.aboutyun.com/thread-5324-1-1.html

hadoop 10G視頻:http://www.aboutyun.com/thread-1708-1-1.html


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