Hadoop体系结构中的Namenode是一个单点故障。

大大的Hadoop簇的人如何应对这个问题?

是否有一个被行业所接受的解决方案效果很好,即辅助Namenode接管如果主要的Namenode失败了?

有帮助吗?

解决方案

雅虎有 某些建议 对于不同集群大小的配置设置,以考虑Namenode故障。例如:

Hadoop群集中的单点是Namenode。尽管任何其他机器的丢失(间歇性地或永久性)不会导致数据丢失,但Namenode损失导致群集不可用。 Namenode数据的永久丢失将使群集的HDF无法操作。

因此,应在此配置中采取另一个步骤来备份Namenode元数据

Facebook使用 hadoop的调整版本 为其数据仓库;它有 一些优化 关注Namenode的可靠性。除了GitHub上可用的补丁外,Facebook似乎使用 avatarnode 专门用于快速在主要和次级纳米诺德座之间切换。 Dhruba Borthakur的博客 包含其他几个条目,将进一步的见解作为单个故障点。

编辑: 有关Facebook对Namenode的改进的更多信息.

其他提示

高可用性 Namenode 已引入 hadoop 2.x版本。

可以以两种模式实现 - 与NFS与QJM

但是高度可用 Quorum Journal Manager(QJM)是首选选项。

在典型的HA群集中,将两台单独的机器配置为Namenodes。在任何时间点,正好的一个namenodes处于活跃状态,另一个处于待机状态。这 活性名称 负责集群中的所有客户操作,而备用仅仅是一个奴隶,保持足够的状态以在必要时提供快速的故障转移。

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

Hadoop 2.X中的次级Namenode使用率和高可用性

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

大型Hadoop群集具有数千个数据节点和一个名称节点。故障的概率随机器计数线性上升(所有其他都相等)。因此,如果Hadoop无法应对数据节点故障,则不会扩展。由于仍然只有一个名称节点单点故障(SPOF),但失败的可能性仍然很低。

BKKBRAD关于Facebook的答案添加了该名称Node的故障转移功能的答案是正确的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top