与服务器一起的日子

  • mysql
  • linux
  • 高可用
  • nginx
与服务器一起的日子
冰冷的机器也熄不灭火热的心
  1. 首页
  2. 大数据
  3. hadoop
  4. 正文

HDFS高可用性QJM——原理

2017年11月22日 875点热度 0人点赞 0条评论

目的

本文使用仲裁日志管理器(QJM)功能概述了HDFS高可用性(HA)功能以及如何配置和管理HA HDFS群集。

本文假设读者对HDFS集群中的通用组件和节点类型有一个大体的了解。

注意:使用仲裁日志管理器或常规共享存储

本指南讨论如何使用仲裁日志管理器(QJM)配置和使用HDFS HA以共享活动和备用NameNode之间的编辑日志。

背景

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

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

  • 在计划外事件(例如机器崩溃)的情况下,集群将不可用,直到操作人员重新启动NameNode。
  • 计划的维护事件(如NameNode计算机上的软件或硬件升级)将导致群集停机。

HDFS高可用性功能通过提供在具有热备份的主动(或被动)配置中,在同一群集运行两个冗余NameNode的方法来解决上述问题。 这允许在机器崩溃的情况下快速故障转移到新的NameNode,或者为了计划维护的目的而进行正常故障转移。

架构

在典型的HA(高可用)集群中,两台独立的机器被配置为NameNode。 在任何时候,只有一个NameNode处于Active状态,另一个处于Standby状态。 主动NameNode负责群集中的所有客户端操作,而备用服务器仅充当从服务器,保持足够的状态以在必要时提供快速故障转移。

为了使备用节点保持其与主动节点的状态同步,两个节点都与称为“日志节点”(JN)的一组单独的守护进程进行通信。 当活动节点执行任何名称空间修改时,它会将修改记录持久地记录到大多数这些JN中。备用节点能够读取来自JN的编辑日志,并不断监视编辑日志的变化。 当待机节点看到编辑日志时,它将它们应用到它自己的命名空间。 如果发生故障转移,备用服务器将确保在将自己提升为活动状态之前,已经从JounalNodes中读取所有编辑日志。这确保了在故障转移发生之前命名空间状态已经完全同步。

为了提供快速故障切换,备用节点还需要有关于集群中块的位置的最新信息。 为了实现这一点,DataNode通过配置得知两个NameNode的位置,并发送块位置信息和心跳给两者。

HA群集的正确操作对于一次只有一个NameNode处于活动状态至关重要。 否则,命名空间状态将很快在两者之间发生分歧,从而可能导致数据丢失或其他不正确的结果。为了确保这个属性并防止所谓的“裂脑场景”,JournalNodes一次只允许一个NameNode作为一个主节点进行编辑。 在故障转移期间,要成为活动状态的NameNode将简单地接管写入JournalNodes的日志,这将有效地防止另一个NameNode继续处于活动状态,从而允许新的活动安全地进行故障转移。

硬件资源

为了部署HA群集,您应该准备以下内容:

  • NameNode机器 - 运行Active和Standby NameNode的机器应该具有彼此相同的硬件,以及等同于非HA群集中使用的硬件的硬件。
  • JournalNode机器 - 运行JournalNodes的机器。 JournalNode守护进程是相对轻量级的,所以这些守护进程可以合理地与其他Hadoop守护进程(例如NameNodes,JobTracker或YARN ResourceManager)同时配置在机器上。 注意:必须至少有3个JournalNode守护进程,因为编辑日志修改必须写入大多数JN。 这将允许系统容忍单台机器的故障。 您也可以运行3个以上的JournalNodes,但为了增加系统可以容忍的故障次数,应该运行奇数个JN(即3,5,7等)。 请注意,在运行N个JournalNodes时,系统最多可以承受(N-1)/ 2次故障,并继续正常工作。

请注意,在HA群集中,备用NameNode也会检查名称空间状态的检查点,因此不需要在HA群集中运行Secondary NameNode,CheckpointNode或BackupNode。事实上,这样做会是一个错误。这也允许正在重新配置未启用HA的HDFS群集启用HA之前专用于Secondary NameNode的服务器。

 

标签: 暂无
最后更新:2017年11月22日

jhin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2024 与服务器一起的日子. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang