HDFS2.0之HA

主备NameNode:
  1、主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换;
  2、主NameNode的信息发生变化后,会将信息写到共享数据存储系统中让备NameNode合并到自己的内存中;
  3、所有DataNode同时向两个NameNode发送心跳信息(块信息);

两种切换方式:
  1、手动切换:通过命令实现主备之间的切换,可以用于HDFS升级等场合;
  2、自动切换:基于Zookeeper实现;
    Zookeeper Failover Controller:向Zookeeper注册NameNode并监控NameNode健康状态,当NM挂掉后,ZKFC为NameNode竞争锁,获得锁的NameNode变成active;

多种共享数据存储系统可供选择
  1、NFS
  2、多个Journal Node构成集群(推荐)
    基本原理,数据同时写入所有的JN,多数写入成功,则认为写成功;
    一般配置奇数个JN,JN越多,容错性越好;比如有3个JN,只要两个写成功,则数据写成功,最多允许一个JN挂掉;
  3、Bookeeper

相对于hadoop1.x中多了备NameNodeJournalNode(存储共享数据)ZKFC&ZK(主备NN切换)

HDFS2.0之Federation

多个NN同时对外提供服务,每个NN分管一部分目录,多个NN共享底层DN存储;
此时每个NN都还是存在单点故障问题的,故还需要给Federation节点配置一个备用NN;
所有整个HADOOP2集群中可能存在的NN有:多个NN以及每个NN对应的备NN

带来的好处:单个NN内存和并发压力减小,NN彼此隔离,互不影响

常见应用方法:
  为不同业务创建不同NN,防止相互影响;(一个NN给开发用,一个NN测试用)
  为不同需求创建不同NN,比如测试用的NN,生产用的NN;

HDFS2.0之其他实现机制(与1.0版本基本一致)

1、文件放置策略
  文件被切成若干个block,存放在不同节点上;
  切分过程对用户透明;

2、文件容错策略
  基于副本的容错机制;
  流水线复制;

3、副本放置策略
  一个节点(1个rack)+ 两个节点(另1个rack)

4、......

Hadoop2.0构成之HDFS2.0的更多相关文章

  1. HDFS2.0架构以及HA详解

    HDFS2.0概述 一背景,Hadoop1.0中HDFS和MapReduce在高可用,扩展性等方面存在问题    HDFS存在问题,1,NameNode单点故障,难以应用于在线场景.2,NameNod ...

  2. hadoop入门(2)——HDFS2.0应用场景、原理、基本架构及使用方法

    一.HDFS概述         优点:高容错性.适合批处理.适合大数据处理.流式文件访问:一次写入,多次读取.         缺点:不适合低延迟数据访问.不适合小文件存取(受限于NameNode) ...

  3. Hadoop2.7.5+Hbase1.4.0完全分布式

    Hadoop2.7.5+Hbase1.4.0完全分布式一.在介绍完全分布式之前先给初学者推荐两本书:<Hbase权威指南>偏理论<Hbase实战>实战多一些 二.在安装完全分布 ...

  4. hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装

    hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh ...

  5. hadoop-2.6.0.tar.gz + hive-1.0.0.tar.gz + pig-0.15.0.tar.gz的安装

    这里,为什么选择用hadoop-2.6.0.tar.gz  +   hive-1.0.0.tar.gz是为了搭配兼容. hadoop-2.6.0.tar.gz  +   hive-1.0.0.tar. ...

  6. Hbase 0.96 比 hbase 0.94的改变

    转载:http://blog.csdn.net/hxpjava1/article/details/20043703 环境: hadoop:hadoop-2.2.0 hbase:hbase-0.96.0 ...

  7. Flume-1.4.0和Hbase-0.96.0整合

    在使用Flume的时候,请确保你电脑里面已经搭建好Hadoop.Hbase.Zookeeper以及Flume.本文将以最新版的Hadoop-2.2.0.Hbase-0.96.0.Zookeeper-3 ...

  8. js正则表达式校验非负浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. [转]IIS6.0迁移至IIS7.0

    原文地址:http://www.splaybow.com/post/iis-6.0-7.0.html 公司的项目需要迁移到IIS7的目标机器中 在此做记录 原来server 2003系统 迁到2008 ...

随机推荐

  1. Python实现对Android截图

    背景: 测试过程中,总是需要对Android设备进行截图,然后在截图中标注问题描述: 手动方式: 1.使用adb scrrencap /sdcard/screen.png 命令对Android设备进行 ...

  2. 如何使用 python3 将RGB 图片转换为 灰度图

    首先,介绍第一种方法, 使用  PIL  库,   PIL库是一种python语言常用的一个图形处理库. 关于   PIL  库的安装本文就不介绍了. from PIL import Image I ...

  3. 会声会影X7安装不了,总是提示已经安装其他版本,怎么办

    会声会影X7安装不了,总是提示已经安装其他版本,怎么办 卸载c++2008,安装会声会影,ok. 卸载工具:Windows Install Clean Up

  4. CF1093:E. Intersection of Permutations(树状数组套主席树)

    题意:给定长度为N的a数组,和b数组,a和b都是1到N的排列: 有两种操作,一种是询问[L1,R1],[L2,R2]:即问a数组的[L1,R1]区间和b数组的[L2,R2]区间出现了多少个相同的数字. ...

  5. 结构体内的函数与bfs的情景变量

    关于结构体内的函数,太难的尚且不会用,下面是一个简单一点的结构体内函数的代码 定义这样一个结构体函数之后就能像如下这样使用了 以上为结构体内的简单函数,下面重点来了,关于bfs找最短路由于需要避免走回 ...

  6. django中的FBV和CBV

    django中请求处理方式有2种:FBV 和 CBV 一.FBV FBV(function base views) 就是在视图里使用函数处理请求. 看代码: urls.py from django.c ...

  7. js操作链接url

    使用js对当前的URL进行操作,可以使用内置对象window.location: window.location有以下属性: window.location.href:取得当前地址栏中的完整URL,可 ...

  8. Oracle 多行合并一行 方法

    假如有如下表,其中各个i值对应的行数是不定的 SQL> select * from t; I A          D ---------- ---------- --------------- ...

  9. A glance at C# vNext

    Contents Introduction Background A list of features Primary constructor Read only auto-properties St ...

  10. 使用VBS控制声音

    Set Ws = CreateObject("Wscript.Shell") Ws.Sendkeys "…" '静音 'Ws.Sendkeys "爱爱 ...