帶你走進大數據時代(hadoop生態圈整體介紹二)

個人微信:yinhaoliang6

image

傳統開發

image
在這種方法中,一個企業將有一個計算機存儲和處理大數據。對於存儲而言,程序員會自己選擇的數據庫廠商,如Oracle,IBM等的幫助下完成,用戶交互使用應用程序進而獲取並處理數據存儲和分析

侷限性

這種方式能完美地處理那些可以由標準的數據庫服務器來存儲,或直至處理數據的處理器的限制少的大量數據應用程序。但是,當涉及到處理大量的可伸縮數據,這是一個繁忙的任務,只能通過單一的數據庫瓶頸來處理這些數據

Google的解決方案

使用一種稱爲MapReduce的算法谷歌解決了這個問題。這個算法將任務分成小份,並將它們分配到多臺計算機,並且從這些機器收集結果並綜合,形成了結果數據集.
image
Hadoop是使用Java編寫,允許分佈在集羣,使用簡單的編程模型的計算機大型數據集處理的Apache的開源框架。 Hadoop框架應用工程提供跨計算機集羣的分佈式存儲和計算的環境。 Hadoop是專爲從單一服務器到上千臺機器擴展,每個機器都可以提供本地計算和存儲

Hadoop的架構

在其核心,Hadoop主要有兩個層次,即:
  • 加工/計算層(MapReduce),以及
  • 存儲層(Hadoop分佈式文件系統)
    image

MapReduce

MapReduce是一種並行編程模型,用於編寫普通硬件的設計,谷歌對大量數據的高效處理(多TB數據集)的分佈式應用在大型集羣(數千個節點)以及可靠的容錯方式。 MapReduce程序可在Apache的開源框架Hadoop上運行.

HDFS

Hadoop分佈式文件系統(HDFS)是基於谷歌文件系統(GFS),並提供了一個設計在普通硬件上運行的分佈式文件系統。它與現有的分佈式文件系統有許多相似之處。來自其他分佈式文件系統的差別是顯著。它高度容錯並設計成部署在低成本的硬件。提供了高吞吐量的應用數據訪問,並且適用於具有大數據集的應用程序.除了上面提到的兩個核心組件,Hadoop的框架還包括以下兩個模塊:

  • Hadoop 通用:這是Java庫和其他Hadoop組件所需的實用工具.
  • Hadoop YARN:這是作業調度和集羣資源管理的框架

Hadoop如何工作?

建立重配置,處理大規模處理服務器這是相當昂貴的,但是作爲替代,可以聯繫許多普通電腦採用單CPU在一起,作爲一個單一功能的分佈式系統,實際上,集羣機可以平行讀取數據集,並提供一個高得多的吞吐量。此外,這樣便宜不到一個高端服務器價格。因此使用Hadoop跨越集羣和低成本的機器上運行是一個不錯不選擇.
Hadoop運行整個計算機集羣代碼。這個過程包括以下核心任務由 Hadoop 執行

  • 數據最初分爲目錄和文件。文件分爲128M和64M(128M最好)統一大小塊.
  • 然後這些文件被分佈在不同的羣集節點,以便進一步處理。
  • HDFS,本地文件系統的頂端﹑監管處理。
  • 塊複製處理硬件故障。
  • 檢查代碼已成功執行。
  • 執行發生映射之間,減少階段的排序。
  • 發送排序的數據到某一計算機。
  • 爲每個作業編寫的調試日誌.

Hadoop優勢

  • Hadoop框架允許用戶快速地編寫和測試的分佈式系統。有效並在整個機器和反過來自動分配數據和工作,利用CPU內核的基本平行度。
  • Hadoop不依賴於硬件,以提供容錯和高可用性(FTHA),而Hadoop庫本身已被設計在應用層可以檢測和處理故障。
  • 服務器可以添加或從集羣動態刪除,Hadoop可繼續不中斷地運行。
  • Hadoop的的另一大優勢在於,除了是開源的,因爲它是基於Java併兼容所有的平臺
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章