讀寫:客戶端經過命名空間發請求,能夠無感知的找到active NN,active NN所作操做會保存在editlog文件中,並向JournalNode節點寫入editlog。DN向NN發送心跳報告的時候,NN將editlog上的數據操做發送給DN實現。性能
HA:standby NN會實時從JN上讀取editlog信息,進行重演,保持與active NN的數據同步。若是active NN掛掉了,ZKFC會監控到,向zk集羣發送心跳報告時會將這一消息報告上去,zk集羣會進行選舉,被選舉到的standby NN所在節點的ZKFC進程收到通知,這個ZKFC會切換NN的狀態爲active。spa
配置:與zk同理,JN須要配置2n+1個。
HDFS節點在20個,JN配置5個;
HDFS節點20~100個,JN配置7/9/11個;
HDFS節點100以上,JN配置11個便可。
JN配置數量應根據寫請求的頻繁程度而定,但並不是越多越好,太多會由於半數經過機制而致使性能降低。3d