2010-12-21 61 views
22

Hadoop架構中的Namenode是單點故障。Hadoop namenode:單點故障

擁有大量Hadoop集羣的人如何應對這個問題?

是否有行業認可的解決方案運行良好,其中第二個Namenode接管以防主要接口失敗?

回答

22

雅虎有certain recommendations的配置設置在不同的羣集大小以考慮NameNode失敗。例如:

Hadoop集羣中的單點故障是NameNode。雖然任何其他機器(間歇或永久)的丟失不會導致數據丟失,但NameNode丟失會導致羣集不可用。 NameNode數據永久丟失將導致集羣的HDFS無法運行。

因此,另一個步驟應在該配置中採取備份的NameNode元數據

的Facebook使用a tweaked version of Hadoop其數據倉庫;它具有專注於NameNode可靠性的some optimizations。除了github上提供的補丁外,Facebook似乎專門用於AvatarNode,以便在主NameNode和輔助NameNode之間快速切換。 Dhruba Borthakur's blog包含幾個其他條目,提供NameNode作爲單點故障的進一步見解。編號:Further info about Facebook's improvements to the NameNode

1

大型Hadoop集羣擁有數千個數據節點和一個名稱節點。機器數量發生故障的概率呈線性增長(其他條件均相等)。所以如果Hadoop沒有處理數據節點故障,它不會擴展。由於仍然只有一個名稱節點存在單點故障(SPOF),但失敗的可能性仍然很低。

很遺憾,Bkkbrad關於Facebook向名稱節點添加故障轉移功能的答案就是如此。

3

hadoop中的Namenode不再是SPOF。查詢here瞭解更多。

+0

網址更新爲https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html – 2016-02-01 06:05:20

3

高可用性Namenode已引入Hadoop 2.x版本。與仲裁日誌管理器(QJM)是優選的選項With NFSWith QJM

但高可用性 -

它可以以兩種模式來實現。

在典型的HA羣集中,兩臺獨立的機器配置爲NameNode。在任何時候,只有一個NameNodes處於Active狀態,另一個處於Standby狀態。 Active NameNode負責羣集中的所有客戶端操作,而備用服務器僅充當從服務器,並在必要時保持足夠的狀態以提供快速故障轉移。

看看下面的SE問題,它解釋了完整的故障轉移過程。

Secondary NameNode usage and High availability in Hadoop 2.x

How does Hadoop Namenode failover process works?