1. 程式人生 > >Hadoop 2.x簡介

Hadoop 2.x簡介

計算框架 擴展性 namenode 背景 在線 目錄 其它 內存 alt

Hadoop 2.0產生背景

  • Hadoop1.0中HDFS和MapReduce在高可用、擴展性等方面存在問題
  • HDFS存在的問題
    • NameNode單點故障,難以應用於在線場景
    • NameNode壓力過大,且內存受限,影響系統擴展性
  • MapReduce存在的問題
    • JobTracker訪問壓力大,影響系統擴展性
    • 難以支持除MapReduce之外的計算框架,比如Spark 、Storm等

 MapReduce是離線計算框架,計算時間會比較長
 Spark是內存計算框架,更快
 Storm是流計算框架,可實時獲取計算結果

Hadoop 1.x 與Hadoop 2.x

技術分享

  • Hadoop 2.x由HDFS、MapReduce和YARN三個分支構成
    • HDFS : NN Federation、HA;
    • MapReduce : 運行在YARN上的MR
    • YARN : 資源管理系統(內存、CPU資源)

Federation把元數據分成兩個獨立的NameNode去工作。
YARN知道任何一臺機器的使用情況,在執行任務的時候,首先去YARN上申請,YARN 分配到某臺機器上去執行,可做到資源不浪費

HDFS存儲的數據可由MapReduce進行計算,也可以由其它的計算框架計算

HDFS 2.x優點

  • 解決HDFS 1.0中單點故障和內存受限問題
  • 解決單點故障
    • HDFS HA : 通過主備NameNode解決(只有一個NameNode正常工作,其它都是備用)
    • 如果主NameNode發生故障,則切換到備NameNode上
  • 解決內存受限問題
    • HDFS Federation(聯邦)
    • 水平擴展,支持多個NameNode
    • 每個NameNode分管一部分目錄(相互獨立)
    • 所有NameNode共享所有DataNode存儲資源
  • 2.x僅是架構上發生了變化,使用方式不變
  • 對HDFS使用者透明
  • HDFS 1.X中的命令和API仍可以使用

Hadoop 2.x簡介