HDFS2.0架构以及HA详解

HDFS2.0概述

   一背景,Hadoop1.0中HDFS和MapReduce在高可用,扩展性等方面存在问题

         HDFS存在问题,1,NameNode单点故障,难以应用于在线场景。2,NameNode压力过大,且内存受限,影响系统扩展。

         MapReduce存在的问题,1,JobTracker访问压力大,影响系统扩展性,2,难以支持除MapReduce之外的计算框架,比如Spark,Storm等

   二 Hadoop1.X与Hadoop2.X区别

    

          解决HDFS1.0种单点故障和内存受限问题,

      1,解决单点故障:HDFS HA :通过主备NameNode解决,如果主NameNode发生故障,则切换到备NameNode

      2,解决内存受限问题:HDFS Federation(联邦),水平扩展,支持多个NameNode,每个NameNode分管一部分目录,所有NameNode共享所有DataNode存储资源

     Hadoop2.X由HDFS,MapReduce和Yarn三个分支构成

      1,HDFS:NN Federation(联邦), HA ,2.X:只支持2个节点HA,3.0实现了一主多从

      2,MapReduce:运行在YARN上的MR,离线计算,基于磁盘I/O计算

      3,YARN:资源管理系统

  三,2.X仅仅是架构上发生了变化,使用方式不变,对HDFS使用者透明,HDFS 1.X中的命令和API仍可以使用

 

Hadoop2.0-HA HDFS架构

  一架构图

    

  二架构解析

    1 主备NameNode

      解决单点问题,主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换;所有DataNode同时向两个NameNode汇报数据块信息

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

       2 JN:日志同步系统

     3 ZKFC:Zookeeper FailOver Controller,自动切换系统

    

    

     

  

原文地址:https://www.cnblogs.com/QuestionsZhang/p/10027194.html