問題:namenode是單節點的,容易發生單點故障。
在hadoop2.x之後,可以部署兩個namenode,乙個active(活躍的),另外乙個是standby(備份的),如果要實現這種高可用,需要解決兩個問題:
1.資料的同步
資料的同步包括兩部分:靜態資料和動態資料,靜態資料是指元資料資訊(塊名稱,大小,偏移量,許可權),動態資料是指datanode定時上送的塊資訊。
動態資料可以讓datanode連線兩個namenode,上送給兩個namenode;靜態資料可以採用journal node進行日誌的讀取和寫入,完成元資料(靜態資料)的同步。
2.同乙個時間段,只有乙個namenode工作,防止兩個同時在,發生腦裂
使用zookeeper協調系統,每個namenode都有zkfc的程序。
1)健康監控
health montor監控namenode的健康狀況,如果不舒服,則需要呼叫2)
2)狀態變化**函式
zkfailercontroller
3)進行選舉
activestandyelector
選舉成功的,呼叫方法變成了active
否則選擇失敗,呼叫方法變成standy by
高可用HA配置
注意 在此之前zookeeper要配置好 1.首先我們修改core site.xml檔案 1 指定hdfs的nameservice為mycluster fs.defaultfs hdfs mycluster 2 指定hadoop臨時目錄 hadoop.tmp.dir home master hado...
hdfs的高可用
hdfs的架構體系 hdfs採用了主從模式 集中式管理 主 1.namenode 只有乙個,它存在乙個缺陷 單點故障 2.它是記錄集群情況和集群檔案儲存的元資料 3.解決缺陷方式 a.高可用方式,製作乙個副namenode 這個副namenode可不是secondnamenode,b.倆個namen...
HDFS的高可用工作原理(HA)的最權威分析
namenode機器宕機,將導致集群不可用,重啟 namenode之後 可使用 計畫內的軟體或硬體公升級 namenode節點 導致集群在短時間內不可用 hdfs的ha就是為了解決上述問題,通常由兩個 namenode組成,乙個處於active狀態,另乙個處於 standby狀態。active na...