http://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

背景

在Hadoop 2.0.0以前,在一个HDFS集群中NameNode存在单点故障。每个集群中只有一个NameNode,如果这个机器不可用的话,那么整个集群将不可用,直到这个机器被重启或者其它的机器来替代它。这就意味着:

  • 万一NameNode机器宕机了,那么整个集群不可用
  • NameNode机器上的软件或者硬件升级的时候,集群不得不停止运行

HDFS HA在每个集群中运行两个NameNode,一个是Active的,一个Passive的,作为热备。

架构

在典型的HA集群中,两个分开的机器均被配置为NameNode。在任意时刻,只有一个NameNode处于活动状态,另一个处于备用状态。处于活动状态的NameNode负责处理集群中所有客户端操作,此时处于备用状态的NameNode只是扮演者slave的角色。这个备用的NameNode维护足够的状态,以防快速容灾。

备用NameNode为了保持和活动NameNode的状态同步,这两个节点用一组单独的后台进程进行通信,这个守护进程被叫做“JournalNodes”(简称JNs)。当处于活动状态的NameNode做了任何修改以后,它将修改的日志传给大部分JNs。备用的NameNode从JNs中读取这种修改,并且会把这种改变写到EditLog中。因为备用NameNode看到这些编辑,所有它将这种改变应用到自己的namespace中。

要想保住HA集群正确的操作,至关重要的一点是,同一时间集群中只能有一个NameNode处于活动状态。为了保证这一点,JournalNodes只允许同一时间只有一个NameNode可以写。

硬件资源

为了部署一个HA集群,你需要准备下列资源:

  • NameNode machines:运行活动的和备用的NameNode的机器的硬件配置应该是相等的
  • JournalNode machines:必须至少3个JournalNode,因为Edit Log必须被写到大多数JNs上。也就是说,可以容忍单个机器失败。你也可以运行3个以上的JournalNode,但是为了能够增加系统承受失败的数量,你应该运行奇数个JNs(比如:3,5,7等等)。当运行的JournalNode数量是N的时候,系统最多可以容忍(N - 1)/ 2个失败,并且正常服务。

其它参考

http://blog.csdn.net/strongerbit/article/details/7013221/

HDFS High Availability Using the Quorum Journal Manager的更多相关文章

  1. [HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager

    HDFS High Availability Using the Quorum Journal Manager HDFS High Availability Using the Quorum Jour ...

  2. Dream------Hadoop--Hadoop HA QJM (Quorum Journal Manager)

    In a typical HA cluster, two separate machines are configured as NameNodes. At any point in time, ex ...

  3. Configuring HDFS High Availability

    Configuring HDFS High Availability 原文请訪问 http://blog.csdn.net/ashic/article/details/47024617,突袭新闻小灵儿 ...

  4. HDFS High Availability(HA)高可用配置

    高可用性(英语:high availability,缩写为 HA) IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度.是进行系统设计时的准则之一. 高可用性系统意味着系统服务可以更长时间 ...

  5. HDFS之Qurom Journal Manager(QJM)实现机制分析

    前言 1.1背景 自从hadoop2版本开始,社区引入了NameNode高可用方案.NameNode主从节点间需要同步操作日志来达到主从节点元数据一致.最初业界均通过NFS来实现日志同步,大家之所以选 ...

  6. HDFS Federation与HDFS High Availability详解

    HDFS Federation NameNode在内存中保存文件系统中每个文件和每个数据块的引用关系,这意味着对于一个拥有大量文件的超大集群来说,内存将成为限制系统横向扩展的瓶颈.在2.0发行版本系列 ...

  7. 构建高可靠hadoop集群之3- Quorum Journal Manager

    在正式环境中,搭建高可靠(ha)的系统是必须的. 例如oralce的rac,apache集群,windows服务器集群 本文不再赘言ha的重要性. 本文主要是对 http://hadoop.apach ...

  8. 分布式系统理论之Quorum机制

    一,Quorum机制介绍 在分布式系统中有个CAP理论,对于P(分区容忍性)而言,是实际存在 从而无法避免的.因为,分布系统中的处理不是在本机,而是网络中的许多机器相互通信,故网络分区.网络通信故障问 ...

  9. hadoop2.x HDFS HA linux环境搭建

    HDFS High Availability Using the Quorum Journal Manager 准备3台机器可以更多   NN  DN  ZK  ZKFC  JN  RM  DM  n ...

随机推荐

  1. ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated问题处理过程

    1,现象是oracle启动报错例如以下: SQL> startup ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cann ...

  2. EBS採购模块中的级联接收和级联接收事务

    EBS採购模块中的级联接收和级联接收事务 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习.请注明出处:否则请与本人联系.违者必究) 级联接收和级联接收事务 级联功能对来自于同一个供应商 ...

  3. iOS 6.0中UIViewController被弃用的一些方法

    郝萌主倾心贡献.尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意.重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 概念:de ...

  4. 【转载】Spring AOP详解 、 JDK动态代理、CGLib动态代理

    Spring AOP详解 . JDK动态代理.CGLib动态代理  原文地址:https://www.cnblogs.com/kukudelaomao/p/5897893.html AOP是Aspec ...

  5. Springboot-添加对jsp支持

    1,在项目的配置文件加入以下依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId>j ...

  6. intellij idea 主题大全,看不惯idea 那2种主题的来这里了

    一直用默认的主题,但是白色的背景看久了会晃眼睛.所以打算换成黑色的. 不过Intellij只有两种主题,Default和Darcula. 现在只能自己手动安装一个了.新主题需要满足, 看久了不会太累. ...

  7. if;脚本中退出语句:exit 数字,用$?查时为exit设置的数字,此数字为程序执行完后的返回数据,可以通过此方法自动设定

    if [ 条件 ];then 代码 fi if [ 条件 ] then 代码 fi [root@localhost ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda5 % ...

  8. 【二十一】基于mysqli的表格数据练习

    mysqlitest.php <?php //调用数据库的函数 function connetionsql(){ $conn=mysqli_connect("127.0.0.1&quo ...

  9. React:入门计数器

    ---恢复内容开始--- 把React的官网入门例子全看一遍,理解了,但自己从头开始写有点困难,这次强迫自己从头开始写,并写好注释: import React, { Component } from ...

  10. shell if相关参数

    [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真. [ ...