1、HA 概述

  1. 所谓HA(High Available),即高可用(7*24小时不中断服务)。
  2. 实现高可用最关键的策略是消除单点故障。Hadoop-HA严格来说应该分成各个组件的HA机制: HDFS的HA和YARN的HA。
  3. Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。
  4. NameNode主要在以下两个方面影响HDFS集群
    1. NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启
    2. NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用

HDFS HA功能通过配置Active/Standby两个NameNodes实现在集群中对NameNode的热备,来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将NameNode很快的切换到另外一台机器。

2、HDFS-HA 工作机制

通过双NameNode消除单点故障(Active/Standby)

2.1、HDFS-HA工作要点

  1. 元数据管理方式需要改变

    1. 内存中各自保存一份元数据;
    2. Edits日志只有Active状态的NameNode节点可以做写操作;
    3. 两个NameNode都可以读取Edits;
    4. 共享的Edits放在一个共享存储中管理(qjournal和NFS两个主流实现);
  2. 需要一个状态管理功能模块

    实现了一个zkfailover,常驻在每⼀个namenode所在的节点,每一个zkfailover负责监控自己所在 NameNode节点,利用zk进行状态标识,当需要进行状态切换时,由zkfailover来负责切换,切换 时需要防⽌brain split现象的发生(集群中出现两个Active的Namenode)。

  3. 必须保证两个NameNode之间能够ssh无密码登录
  4. 隔离(Fence),即同一时刻仅仅有一个NameNode对外提供服务

2.2、HDFS-HA工作机制

        配置部署HDFS-HA进行自动故障转移。自动故障转移为HDFS部署增加了两个新组件:ZooKeeper和 ZKFailoverController(ZKFC)进程,ZooKeeper是维护少量协调数据,通知客户端这些数据的改变和监视客户端故障的高可用服务。HA的自动故障转移依赖于ZooKeeper的以下功能:

  • 故障检测

    集群中的每个NameNode在ZooKeeper中维护了一个临时会话,如果机器崩溃,ZooKeeper中的 会话将终止,ZooKeeper通知另一个NameNode需要触发故障转移。

  • 现役NameNode选择

    ZooKeeper提供了一个简单的机制用于唯一的选择一个节点为active状态。如果目前现役 NameNode崩溃,另一个节点可能从ZooKeeper获得特殊的排外锁以表明它应该成为现役 NameNode。

    ZKFC是自动故障转移中的另一个新组件,是ZooKeeper的客户端,也监视和管理NameNode的状态。 每个运行NameNode的主机也运行了一个ZKFC进程,ZKFC负责:

  • 健康监测

    ZKFC使用一个健康检查命令定期地ping与之在相同主机的NameNode,只要该NameNode及时地回复健康状态,ZKFC认为该节点是健康的。如果该节点崩溃,冻结或进入不健康状态,健康监测器标识该节点为非健康的。

  • ZooKeeper会话管理

    当本地NameNode是健康的,ZKFC保持一个在ZooKeeper中打开的会话。如果本地NameNode 处于active状态,ZKFC也保持一个特殊的znode锁,该锁使用了ZooKeeper对短暂节点的支持,如果会话终止,锁节点将自动删除。

  • 基于ZooKeeper的选择

    如果本地NameNode是健康的,且ZKFC发现没有其它的节点当前持有znode锁,它将为自己获取该锁。如果成功,则它已经赢得了选择,并负责运行故障转移进程以使它的本地NameNode为 Active。故障转移进程与前面描述的手动故障转移相似,首先如果必要保护之前的现役 NameNode,然后本地NameNode转换为Active状态。

Hadoop HA介绍相关推荐

  1. HDFS HA介绍及配置理解

    1.HDFS HA介绍 相比于Hadoop1.0,Hadoop 2.0中的HDFS增加了两个重大特性,HA和Federaion.HA即为High Availability,用于解决NameNode单点 ...

  2. Hadoop HA+Federation 高可用联邦模式搭建指南

    为什么80%的码农都做不了架构师?>>>    简述 Hadoop 集群一共有4种部署模式,详见<Hadoop 生态圈介绍>. HA联邦模式解决了单纯HA模式的性能瓶颈( ...

  3. Hadoop技术之Hadoop HA 机制学习

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:温球良 导语 最近分享过一次关于Hadoop技术主题的演讲,由于接触时间不长,很多技术细节认识不够,也没讲清楚,作为一个技术人员,本 ...

  4. 在Mac上安装Hadoop HA 高可

    **Mac安装Hadoop HA高可 在Mac上安装Hadoop HA 高可用 配置环境: HA & Federation介绍 Hadoop 1.x与Hadoop 2.x Hadoop 2.x ...

  5. 原来你是这样的Hadoop HA?

    1 .Hadoop HA 说明 1.1 Hadoop HA主备介绍 ​ 自Hadoop2.x版本后可以增加多个namenode节点[保存着整个系统的名称空间和文件数据块的地址映射又称"元数据 ...

  6. Hadoop HA原理

    Hadoop HA(High Available)经过同时配置两个处于Active/Passive模式的Namenode来解决上述问题,分别叫Active Namenode和Standby Namen ...

  7. hadoop(ha)hbase(双master)安装

    一.软件包准备 CentOS Linux release 7.2  Linux version 3.10.0-327.el7.x86_64 jdk-7u65-linux-x64.tar.gz zook ...

  8. MongoDB之Hadoop驱动介绍

    http://blog.csdn.net/amuseme_lu/article/details/6584661 MongoDB之Hadoop驱动介绍 ------------------------ ...

  9. Hadoop端口介绍及各种启动命令列表

    Hadoop端口介绍 9000 namenode的常用端口 给机子 8020 namenode的RPC调用端口(接收Client连接的RPC端口,用于获取文件系统metadata信息) 50070 n ...

最新文章

  1. 为什么现在大家喜欢用3*3小卷积?
  2. DB2 9 利用启示(733 测验)认证指南,第 7 部分: Java 编程(5)
  3. 【清华集训2016】Alice和Bob又在玩游戏
  4. wxWidgets:wxPanel类用法
  5. lz98n外接电源注意问题
  6. C语言中 用选择结构编译算法,C语言程序设计立体化教程(高等教育立体化精品系列规划教材)...
  7. python split返回类型_python的数据类型
  8. 电机与拖动基础第四版_伺服电机控制
  9. uva 10246(最短路变形)
  10. mac上的android模拟器下载安装,Mac电脑上安装安卓模拟器,Mac如何安装Android模拟器...
  11. 全球及中国有机橘子油行业投资前景预测与重点企业经营分析报告2021-2027年版
  12. QGIS二次开发01---临时绘制图层实现
  13. Html中怎么用CSS让ul中多个li标签不换行横排显示
  14. lcd调色板工作原理详解
  15. RCV 接收指令例程
  16. 记录HRegNet工程的环境配置问题
  17. 【目标一】2019年9月15日 - 2019年9月22日晚 --- 周计划
  18. 盘一盘那些提效/创意的宝藏网站
  19. Tcp/ip协议 详解
  20. win 10 mmdetection 配置

热门文章

  1. 《操作系统》第十二章习题加解析(重点学习内容)
  2. 我的java学习之路之Spring
  3. 一.僵死进程(僵尸进程)
  4. 2019年_BATJ大厂面试题总结-华为篇
  5. sqlserver2000安装程序以及补丁下载
  6. (7)web安全|渗透测试|网络安全 如何判断是否有CDN存在,并绕过CDN找到真正的ip的方法
  7. 隐藏控制台应用程序的窗口
  8. DMA双螺旋结构是大自然长期进化的结果
  9. CAD-Cass小结(4)——Cass、CAD对图像校正与等高线矢量化
  10. c语言ATM机文件储存账号密码,C语言ATM(有文件输入输出).doc