
Namenode
高可用性
|
17
Namenode
高可用性
身為管理大規模系統健康與服務的系統管理員,單點失效(
single point of failure
)的
概念可能會讓我們有點不安(甚至更糟)。不幸的是過去很長一段時間
HDFS
的
namenode
剛好就有單點失效。最近整個
Hadoop
社群花了大量的時間,讓
namenode
支援更高的可用性,讓
Hadoop
用在更多關鍵佈署(
mision-critical deployment
)。
Namenode
高可用性
(
high availability
或縮寫
HA
)是佈署為成對的主動與被動
(
active/passive pair
)
namenode
。預先寫入日誌
edits
必須被兩個
namenode
使用,因
此得存在共享儲存裝置(
shared storage device
)上。目前,需要
NFS
文件管理器來當
作共享儲存,雖然有計劃移除這項相依性。
2
當主動
namenode
寫入
edits
日誌,被援的
namenode
會定期重播交易,以確保維持最新狀態,準備在故障時遞補上陣。從一個
HA
設定檔,
datanode
也知道有兩個
namenode
,所以會同時傳送區塊報告給兩台主機。
一對高可用性的
namenode
可以設定成手動或自動故障移轉。在預設的手動故障移轉模
式,須送出一個命令來觸發狀態的轉變(
state transition
)。當設定為自動故障移轉時,
每個
namenode
會執行一個額外的程序,名為
failover controller
(
故障移轉控制器
),