【问题标题】:Secondary namenode on Hadoop 2.x (Hortonworks)Hadoop 2.x (Hortonworks) 上的辅助名称节点
【发布时间】:2026-02-03 19:55:01
【问题描述】:

我在Hortonworks、cloudera学习hadoop 2.x技术,注意到hadoop 2.x的架构中没有二级namenode;它被一个备用名称节点取代。

  • 辅助节点 是否已弃用?据我了解,standby namenode 功能与辅助 namenode 功能不同。

  • 我能否在没有 辅助 namenodestandby namenode 的情况下构建 Hadoop 而不会损失性能?

【问题讨论】:

    标签: hadoop hortonworks-data-platform standby


    【解决方案1】:

    据我所知,辅助和备用都有不同的功能。备用名称节点用于 HA 集群

    你的问题

    1.Secondary node 没有被弃用,但是如果你正在设置HA集群,那么你可能不需要使用Secondary namenode,因为standby namenode保持其状态与Active namenode同步

    2.您可以在没有辅助节点或备用节点的情况下进行 hadoop 设置,而不会损失任何性能,但是如果 namenode 发生故障,您的所有数据都将丢失,因为 namenode 将其所有元数据都存储在内存中

    【讨论】:

    • CTDex,你是说standby namenode也负责合并fsimage文件和edits文件?否则编辑文件会很大,当然我们需要由 somenode 完成该功能。因此我相信我们需要 SNN。请解释一下。
    • 在namenode的HA设置的情况下,备用namenode完成合并fsimage文件和edits文件的工作
    【解决方案2】:

    Secondary namenode 和standby namenode 是不同的东西。

    旧的“辅助”名称节点主要是misnomer。它所做的只是不时对 fsimage 进行检查点,以便在发生崩溃时更快地恢复真实的 namenode。它绝不提供任何待机/高可用性功能。你应该使用这个。

    新的备用名称节点是一个真正的备用、高可用性功能。在HDFS High Availability阅读更多相关信息:

    在 Hadoop 2.0.0 之前,NameNode 是 HDFS 集群中的单点故障 (SPOF)。每个集群都有一个 NameNode,如果该机器或进程不可用,则整个集群将不可用,直到 NameNode 重新启动或在单独的机器上启动。

    这在两个主要方面影响了 HDFS 集群的总体可用性:

    如果发生意外事件,例如机器崩溃,集群将不可用,直到操作员重新启动 NameNode。 NameNode 机器上的软件或硬件升级等计划维护事件将导致集群停机窗口。 HDFS 高可用性功能通过提供在具有热备用的主动/被动配置中在同一集群中运行两个冗余 NameNode 的选项来解决上述问题。这允许在机器崩溃的情况下快速故障转移到新的 NameNode,或出于计划维护的目的而由管理员发起的优雅故障转移。

    您应该使用/配置备用名称节点。

    在当前版本(撰写本文时为 2.6),您有两种 HA 模式:

    有关 Hortonworks 发行版的特定文档,请参阅 NameNode High Availability for Hadoop

    【讨论】:

    • 谢谢您的回答!现在我明白了。
    • 我知道 SNN 不做备用节点的工作。反过来是真的吗?即备用节点完成 SNN 的工作。由于它保持热备份,它是否会定期合并 fsimage 和编辑文件?请解释一下。
    • @JagadishTalluri 请单独提问
    • 根据要求,我在单独的问题中提出。请查看*.com/questions/34196981/…