Hadoop namenode:单点故障

问题描述:

Hadoop架构中的Namenode是单点故障。Hadoop namenode:单点故障

拥有大量Hadoop集群的人如何应对这个问题?

是否有行业认可的解决方案运行良好,其中第二个Namenode接管以防主要接口失败?

雅虎有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

大型Hadoop集群拥有数千个数据节点和一个名称节点。机器数量发生故障的概率呈线性增长(其他条件均相等)。所以如果Hadoop没有处理数据节点故障,它不会扩展。由于仍然只有一个名称节点存在单点故障(SPOF),但失败的可能性仍然很低。

很遗憾,Bkkbrad关于Facebook向名称节点添加故障转移功能的答案就是如此。

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

高可用性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?