Hadoop namenode:单点故障

25

Hadoop架构中的Namenode是一个单点故障。

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

是否有一种在主Namenode发生故障时由备用Namenode接管的行业认可解决方案?

3个回答

25

雅虎针对不同集群大小的配置设置有特定建议,以考虑NameNode故障。例如:

Hadoop集群中的单点故障是NameNode。虽然其他任何机器(间歇性或永久性)的损失都不会导致数据丢失,但NameNode的损失会导致集群不可用。 NameNode数据的永久性丢失将使集群的HDFS无法操作。

因此,在此配置中还应采取其他措施来备份NameNode元数据

Facebook为其数据仓库使用修改版的Hadoop;它进行了一些关注NameNode可靠性的优化。除了在github上提供的补丁外,Facebook似乎专门使用AvatarNode快速切换主要和次要NameNode。 Dhruba Borthakur的博客包含有关将NameNode视为单个故障点的其他条目,以提供进一步的见解。

编辑:了解更多有关Facebook改进NameNode的信息


7

Hadoop 2.x版本引入了Namenode的高可用性。

它可以通过两种模式实现——使用NFSQJM

但是,使用Quorum Journal Manager (QJM)实现高可用性是首选选项。

在典型的HA集群中,配置了两台独立的机器作为NameNodes。任何时候,恰好有一个NameNode处于Active状态,另一个处于Standby状态。 Active NameNode负责集群中的所有客户端操作,而Standby仅充当从属角色,维护足够的状态以提供快速故障转移(failover)。

请查看以下SE问题,其中解释了完整的故障转移过程。

Hadoop 2.x中Secondary NameNode的使用和高可用性

Hadoop Namenode故障转移过程是如何工作的?


1

大型Hadoop集群具有数千个数据节点和一个名称节点。随着机器数量的增加(其他条件不变),故障的概率呈线性上升趋势。因此,如果Hadoop无法处理数据节点故障,它将无法扩展。由于仍然只有一个名称节点,因此存在单点故障(SPOF),但故障概率仍然很低。

可悲的是,Bkkbrad关于Facebook向名称节点添加故障转移功能的回答是正确的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接