1.高可靠概念

  HA(High Available):高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动

节点及备用节点

2.Hadoop的HA运作机制:

  :正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制,

  :Hadoop-HA集群运作机制介绍:所谓HA,即高可用(7*24小时不中断服务),实现高可用最关键的是消除单点故障

  :Hadoop-HA严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA

2.HDFS的HA机制详解:

  1.可否通过keepalive来进行NameNode的高可用?不可以,因为NameNode上有大量的元数据状态信息需要维护

  2.解决方法:

    需要两个NameNode,一个对外工作(active),一个后补(standby),这就涉及到元数据同步的问题。可以

将edits保存到第三方,standy的NameNode即可收到edits,从而保持元数据的更新。为了系统的稳定,第三方的

组件最好也实现高可用。叫做qjournal,基于ZooKeeper实现的分布式系统,功能是进行edits日志管理。这样提

高了可靠性和可用性,但是牺牲了一部分数据一致性

  如果active宕机了,standby立即可以切换到active状态并对外提供服务;需要一个状态管理功能模块。每个

NameNode中有个程序ZKFC(zkfailover Controller),基于ZooKeeper做状态切换,ZKFC通过RPC的接口调用NameNode,

然后就可以确认NameNode的状态。一旦active上面的ZKFC发现active挂掉了,它向ZooKeeper发送状态变化信息,

standby的ZKFC监听到节点变化后,通知NameNode切换到Active状态,随后在ZooKeeper上建立状态锁。通知切换之

前为了保证之前的NameNode一定被隔离,ZKFC会直接调用kill -9杀掉之前的NameNode进程,如果等一段时间没有响

应,会调用用户脚本来进行操作,用户脚本返回0表示隔离成功。

  宕机的active重启后,ZKFC会检测到状态锁的存在,让其处于standby状态。此时不需要SecondaryNameNode了,

交给standby的NameNode负责

  

总结:

  HDFS的HA机制通过双namenode消除单点故障

  双namenode协调工作的要点:

  A、元数据管理方式需要改变:内存中各自保存一份元数据,Edits日志只能有一份,只有Active状态的namenode节点可

以做写操作,两个namenode都可以读取edits,共享的edits放在一个共享存储中管理(qjournal和NFS两个主流实现)

  B、需要一个状态管理功能模块:实现了一个zkfailover,常驻在每一个namenode所在的节点,每一个zkfailover负责监

控自己所在namenode节点,利用zk进行状态标识,当需要进行状态切换时,由zkfailover来负责切换,切换时需要防止brain

split现象的发生

  

    

Hadoop_32_HDFS高可用机制的更多相关文章

  1. HADOOP高可用机制

    HADOOP高可用机制 HA运作机制 什么是HA HADOOP如何实现HA HDFS-HA详解 HA集群搭建 目标: 掌握分布式系统中HA机制的思想 掌握HADOOP内置HA的运作机制 掌握HADOO ...

  2. SpringCloud系列十:SpringCloudConfig 高级配置(密钥加密处理(JCE)、KeyStore 加密处理、SpringCloudConfig 高可用机制、SpringCloudBus 服务总线)

    1.概念:SpringCloudConfig 高级配置 2.具体内容 在 SpringCloudConfig 之中考虑到所有配置文件都暴露在远程仓库之中的安全性问题,所以提供有安全访问的处理机制,这样 ...

  3. SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端、Eureka 服务信息、Eureka 发现管理、Eureka 安全配置、Eureka-HA(高可用) 机制、Eureka 服务打包部署)

    1.概念:Eureka 服务发现框架 2.具体内容 对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在 ZooKeeper 组件,这个组件里面已经明确的描述了一个服务的注册以及发现操 ...

  4. 从零开始学spring cloud(八) -------- Eureka 高可用机制

    一.Eureka高可用机制介绍 Eureka服务器没有后端存储,但注册表中的服务实例都必须发送心跳以使其注册保持最新(因此可以在内存中完成). 客户端还有一个Eureka注册的内存缓存(因此,他们不必 ...

  5. Redis Sentinel 高可用机制

    内容目录: Sentinel 如何工作的? 核心配置项 怎么选出新 master 的? Sentinel 有多个,具体谁来执行故障转移? Sentinel 是怎么发现 slave 和其他 sentin ...

  6. Spring Cloud Eureka 注册中心高可用机制

    一.Eureka 正常工作流程 Service 服务作为 Eureka Client 客户端需要在启动的时候就要向 Eureka Server 注册中心进行注册,并获取最新的服务列表数据. Eurek ...

  7. HDFS 09 - HDFS NameNode 的高可用机制

    目录 1 - 为什么要高可用 2 - NameNode 的高可用发展史 3 - HDFS 的高可用架构 3.1 Standby 和 Active 的命名空间保持一致 3.2 同一时刻只有一个 Acti ...

  8. kafka 的高可用机制是什么?

    这个问题比较系统,回答出 kafka 的系统特点,leader 和 follower 的关系,消息 读写的顺序即可.

  9. Redis如何实现高可用【主从复制+哨兵机制+keepalived】

    实现redis高可用机制的一些方法: 保证redis高可用机制需要redis主从复制.redis持久化机制.哨兵机制.keepalived等的支持. 主从复制的作用:数据备份.读写分离.分布式集群.实 ...

随机推荐

  1. DELL服务器管理工具和RACADM介绍

    DELL服务器管理工具和RACADM介绍 一.Dell服务器管理工具介绍 Dell对服务器(DELL PowerEdge)的管理主要提供了三种管理工具,分别是Dell Remote Access Co ...

  2. C#程序 界面显示运行信息

    1.使用RichTextBox,难免要在多线程调用,所以需要委托. Color定义此条信息用什么颜色显示.可以不同的颜色显示不同的信息. private void ShowMsg(Color colo ...

  3. java中length和length()的区别?

    在java中String类可以定义字符串变量和字符串数组,length()用于求String字符串对象的长度,而length用  于求String字符串数组的长度.  length()是求String ...

  4. 02.02 lamp环境搭建笔记

    lamp环境 在linux中安装 apache.mysql.php三种软件环境,同时需要安装他 某些插件. cp /etc/apt/sources.list /etc/apt/sources.list ...

  5. PHP根据IP判断地区名信息的示例代码

    <?php header("Content-type: text/html; charset=utf-8"); function getIP(){ if (isset($_S ...

  6. 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理

    目录 学习笔记:CentOS7学习之十七: Linux计划任务与日志的管理 17.1 计划任务-at-cron-计划任务使用方法 17.1.1 at计划任务的使用 17.1.2 查看和删除at将要执行 ...

  7. not or and 的优先级是不同的

    not or and 的优先级是不同的: not > and > or 请用最快速度说出答案: not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 an ...

  8. Python爬虫—requests库get和post方法使用

    目录 Python爬虫-requests库get和post方法使用 1. 安装requests库 2.requests.get()方法使用 3.requests.post()方法使用-构造formda ...

  9. 输入一个正整数n,输出所有和为n的连续正整数序列

    public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (true) { System. ...

  10. 指针生成网络(Pointer-Generator-Network)原理与实战

    指针生成网络(Pointer-Generator-Network)原理与实战   阅读目录 0 前言 1 Baseline sequence-to-sequence 2 Pointer-Generat ...