Hadoop 2.x簡介
阿新 • • 發佈:2017-07-28
計算框架 擴展性 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簡介