zk:zookeeper
NN:namenode
DN:datanode
ZF Failover Controller:簡稱zkfc ,是zk的客戶端,只運行在主備的namenode上,主要作用是判斷 那個主節點,那莪是備用節點,同事在主備切換的時候也會做判斷,zkfc 是active的狀態,同理,這台namenode也是active的狀態
zk 得作用是為NN做高可用得,zk的數量一般是要為奇數,最少是3個
上圖綠色的方塊是Journalnode,是保證namenode元數據的同步,journalnode 也是一個集群,是一個獨立的進程,當namenode active的節點命名空間有變化,會通知大部分的journalnnode
的進程,standby namenode讀取journalnode 的變化的信息,並且一直監控edit log的變化,把變化應用到自己的命名空間,保證集群出錯的時候,自己的命名空間是完全同步的。
journalnode 集群工作的流程圖
zk的工作原理:
集群的架構規划圖:
后續有時間,把部署寫上