【发布时间】:2015-07-18 10:57:40
【问题描述】:
有人可以解释一下从教科书中摘录的粗体字的确切含义吗? “从节点的状态落后于主节点的状态”是什么意思?
辅助名称节点保留合并命名空间图像的副本,可在名称节点失败的情况下使用。 **然而,国家 次要名称节点的速度滞后于主要名称,因此如果主要名称完全失败,数据丢失几乎是肯定的。**在这种情况下,通常的做法是将 NFS 上的名称节点元数据文件复制到辅助并将其作为新的主节点运行。
提前致谢
【问题讨论】:
有人可以解释一下从教科书中摘录的粗体字的确切含义吗? “从节点的状态落后于主节点的状态”是什么意思?
辅助名称节点保留合并命名空间图像的副本,可在名称节点失败的情况下使用。 **然而,国家 次要名称节点的速度滞后于主要名称,因此如果主要名称完全失败,数据丢失几乎是肯定的。**在这种情况下,通常的做法是将 NFS 上的名称节点元数据文件复制到辅助并将其作为新的主节点运行。
提前致谢
【问题讨论】:
Hadoop 1.x:
当我们启动 ha hadoop 集群时,它会创建一个文件系统映像,用于保存整个 hadopp 集群的元数据信息。当新条目进入 hadoop 集群时,它会进入编辑日志。 Secondary NameNode 定期读取和查询编辑并检索信息并将信息与 fsimage 合并。如果NameNode出现故障,hadoop管理员可以借助fsimage和edits启动hadoop集群。(启动时NameNode会读取edits和fsimage,所以不会丢失数据)
Fsimage 和 edits log 已经以元数据的形式保存了有关文件系统的更新信息,因此在主 hadoop 管理员完全失败的情况下,可以在 edits log 和 fsimage 的帮助下恢复集群信息。
Hadoop 2.x:
在 hadoop 1.x NameNode 中存在单点故障。 NameNode 的故障是整个 hadoop 集群的停机时间。计划中的维护事件,例如 NameNode 机器上的软件或硬件升级,会导致集群停机。为了克服这个问题,hadoop 社区添加了高可用性功能。在搭建hadoop集群的过程中,你可以选择你想要的集群类型。
HDFS NameNode 高可用性功能使您能够在具有热备用的主动/被动配置中在同一集群中运行冗余 NameNode。两个 NameNode 需要相同类型的硬件配置。
在 HA 配置中,一个 NameNode 将处于活动状态,另一个将处于待机状态。ZKFailoverController (ZKFC) 是一个 ZooKeeper 客户端,用于监视和管理 NameNode 的状态。当活动 NameNode 宕机时,它会作为活动 NameNode 备用,当您启动它们时,主 NameNode 将变为备用。请在这个网站上获得更多信息:http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.8.0/bk_system-admin-guide/content/ch_hadoop-ha-5.html
在 HA hadoop 集群中,Active NameNode 读取和写入 JournalNode 中的元数据信息(仅限 Quorum-based Storage)。 JournalNode是HA hadoop集群中的一个独立节点,用于读写edits log和fsimage。
Standby NameNode 始终与active NameNode 同步,两者通过Journal Node 相互通信。当主动节点执行任何命名空间修改时,它会将修改记录持久地记录到这些 JN 中的大多数。 Standby NameNode在journal节点不断监控edit log,并相应更新其namespace。在failover的情况下,standby NameNode在变为active状态之前,会确保其namespace根据edit log完全更新。当待机处于活动状态时,它将开始将编辑日志写入 JournalNode。
Hadoop 不会将任何数据保存到 NameNode 中,所有数据都驻留在 DataNode 中,万一 NameNode 故障不会丢失任何数据。
【讨论】: