hadoop之 Hadoop 2.x HA 、Federation

張衝andy發表於2017-10-16

HDFS2.0之HA

主備NameNode:
  1、主NameNode對外提供服務,備NameNode同步主NameNode後設資料,以待切換;
  2、主NameNode的資訊發生變化後,會將資訊寫到共享資料儲存系統中讓備NameNode合併到自己的記憶體中;
  3、所有DataNode同時向兩個NameNode傳送心跳資訊(塊資訊);

兩種切換方式:
  1、手動切換:透過命令實現主備之間的切換,可以用於HDFS升級等場合;
  2、自動切換:基於Zookeeper實現;
    Zookeeper Failover Controller:向Zookeeper註冊NameNode並監控NameNode健康狀態,當NM掛掉後,ZKFC為NameNode競爭鎖,獲得鎖的NameNode變成active;

多種共享資料儲存系統可供選擇
  1、NFS
  2、多個Journal Node構成叢集(推薦)
    基本原理,資料同時寫入所有的JN,多數寫入成功,則認為寫成功;
    一般配置奇數個JN,JN越多,容錯性越好;比如有3個JN,只要兩個寫成功,則資料寫成功,最多允許一個JN掛掉;
  3、Bookeeper

相對於hadoop1.x中多了備NameNodeJournalNode(儲存共享資料)ZKFC&ZK(主備NN切換)

 

HDFS2.0之Federation

多個NN同時對外提供服務,每個NN分管一部分目錄,多個NN共享底層DN儲存;
此時每個NN都還是存在單點故障問題的,故還需要給Federation節點配置一個備用NN;
所有整個HADOOP2叢集中可能存在的NN有:多個NN以及每個NN對應的備NN

帶來的好處:單個NN記憶體和併發壓力減小,NN彼此隔離,互不影響

常見應用方法:
  為不同業務建立不同NN,防止相互影響;(一個NN給開發用,一個NN測試用)
  為不同需求建立不同NN,比如測試用的NN,生產用的NN;

 

HDFS2.0之其他實現機制(與1.0版本基本一致)

1、檔案放置策略
  檔案被切成若干個block,存放在不同節點上;
  切分過程對使用者透明;

2、檔案容錯策略
  基於副本的容錯機制;
  流水線複製;

3、副本放置策略
  一個節點(1個rack)+ 兩個節點(另1個rack)

4、......

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2146039/,如需轉載,請註明出處,否則將追究法律責任。

相關文章