• hadoop学习笔记(七):hadoop2.x的高可用HA(high avaliable)和联邦F(Federation)


    Hadoop介绍——HA与联邦

    0.1682019.06.04 13:30:55字数 820阅读 138

    Hadoop 1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题:

    HDFS存在的问题

        •NameNode单点故障,难以应用于在线场景    HA

        •NameNode压力过大,且内存受限,影扩展性   F

    MapReduce存在的问题响系统

        •JobTracker访问压力大,影响系统扩展性

        •难以支持除MapReduce之外的计算框架,比如Spark、Storm等。

     
    hadoop1.x与2.x

    –Hadoop 2.x由HDFS、MapReduce和YARN三个分支构成;

        •HDFS:NN Federation(联邦)、HA;

    –2.X:只支持2个节点HA,3.0实现了一主多备

        •MapReduce:运行在YARN上的MR;

    –离线计算,基于磁盘I/O计算

        •YARN:资源管理系统。

    HA(高可用,解决单点故障问题):通过主备NameNode解决,•如果主NameNode发生故障,则切换到备NameNode上。

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

     
    HDFS 2.x的高可用

    HA过程:

    –主备NameNode

    –解决单点故障(属性,位置)

        •主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换

        •所有DataNode同时向两个NameNode汇报数据块信息(位置)

        •JNN(Journal Node):一个共享集群(属性)使两个NameNode的日志文件共享,保持相同的数据。

        •standby:备结点,完成了edits.log文件的合并产生新的image,推送回ANN

    –两种切换选择

        •手动切换:通过命令实现主备之间的切换,可以用HDFS升级等场合

        •自动切换:基于Zookeeper(任务调度管理)实现

    –基于Zookeeper自动切换方案

        •ZooKeeper Failover Controller:监控NameNode健康状态,

        •并向Zookeeper注册NameNode

        •NameNode挂掉后,ZKFC为NameNode竞争锁,获得ZKFC 锁的NameNode变为active。

    在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode。这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态。

     
    联邦结构

    •HDFS  2.x  Federation

    –通过多个namenode/namespace把元数据的存储和管理分散到多个节点中,使到namenode/namespace可以通过增加机器来进行水平扩展。

    –能把单个namenode的负载分散到多个节点中,在HDFS数据规模较大的时候不会也降低HDFS的性能。可以通过多个namespace来隔离不同类型的应用,把不同类型应用的HDFS元数据的存储和管理分派到不同的namenode中。

    参考自连接:https://www.jianshu.com/p/2daf70e3b5b0

  • 相关阅读:
    Div在BOdy中居中
    c_lc_填充每个节点的下一个右侧节点指针 I~II(递归)
    c_pat_哈密顿回路 & 最大点集 & 是否是旅行商路径 & 欧拉路径 & 最深的根(邻接矩阵存图)
    c_lc_二叉搜索树的最近公共祖先 & 二叉树的最近公共祖先(利用性质 | 从p,q开始存储每个结点的父亲)
    c_pat_树题大杂烩(利用性质)
    现在的我,理解了这种「激情」
    b_pat_排成最小的数字 & 月饼(字符串拼接比较a+b<b+a)
    c_lc_二叉搜索树中的众数(中序遍历+延迟更新前驱结点)
    b_pat_分享 & 链表排序 & 链表去重(链表模拟)
    b_pat_弹出序列(栈模拟)
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/11589377.html
Copyright © 2020-2023  润新知