1. 程式人生 > >HDFS HA 架構理解篇

HDFS HA 架構理解篇

HA產生的背景

為了防止出現,單節點的NameNode掛了,不能對外提供服務,於是產生了,兩個NameNode的節點,其中一臺是standby,還有一臺是active ,保證了兩個NameNode,無論哪個出現問題,還是可以實時的對外提供服務

HDFS HA 架構

在這裡插入圖片描述

HDFS的HA的出現是為了解決單點問題,兩個NameNode的通過JounalNode共享資料,通過ZKFC來監控NameNode的健康狀態,選舉active,自動備援.DataNode會同時向兩個NameNode
節點發送心跳;

各程序主要作用:

ActiveNN:

ActiveNameNode 會將操作記錄寫到自己的editlog中,同時也會向JounalNode叢集中記錄一份;接受DataNode的心跳和blockreport

StandbyNN:

StandbyNameNode,會接受JounalNode叢集中的日誌,然後執行日誌操作(相當於重演),保證自己的元資料資訊和activenNameNode節點保持一致;也會接收DataNode的心跳和blockreport

JounalNode:

JounalNode,用於 activeNameNode和 standbyNameNode節點之間同步資料,JounalNode的部署節點數為奇數臺

ZKFC:

ZKFC, 監控兩個NameNode的健康狀態; 向ZK定期傳送心跳,使自己可以被選舉;當自己被ZK選舉為主的時候,zkfc程序通過RPC呼叫使NN的狀態變為active,對外提供實時服務,無感知。

備註

zookeeper在實際生產中部署的規模:
生產上50臺規模以下 7臺
50~100 9/11臺
>100 11臺