集群的好处:

每一个角色都是一个进程;

HDFS:NN(老大),SNN,DN

YARN:RM(老大),NM

老大挂了怎么办?

大数据所有的组件都是主从架构的 master-slave

比如,hdfs读写请求都是先NN节点,但是hbase 读和写的请求不经过老大master,建表语句经过

一般配置两个NN节点(实时的,任何时刻只有一台对外,另外一台standby 做实时备份 随时准备着从standby切换到active状态,对外服务)  NN1,NN2

配2个NN节点后,SNN就没有必要了

两个NN节点的切换是无感知的,可以来回切换

命名空间  nameservice1  CDH

dw

NN: fsimage editlog 读写请求记录

HA的进程: 3台机器的情况下

hadoop001: ZK  NN  ZKFC JN  DN

hadoop002:  ZK  NN ZKFC JN    DN

hadoop003:  ZK   JN  DN

Journal Node:生产上部署需要考虑hdfs的数据量和请求量,小文件多的话jn搞多一些

ZK集群  部署2n+1台 选举 谁做老大 standby

20台节点:5台zk

但是,不是说zk节点越多越好,越多选举时会变慢

生产上,部署zk的机器就只部署zk一个进程

架构流程:

HA是为了解决单点问题
通过JN集群共享状态
通过ZKFC选举active
监控状态,自动备援。
DN: 同时向NN1 NN2发送心跳和块报告。
ACTIVE NN: 操作记录写到自己的editlog
                     同时写JN集群
                     接收DN的心跳和块报告
STANDBY NN: 同时接收JN集群的日志,显示读取执行log操作(重演),
                        使得自己的元数据和active nn节点保持一致。
                        接收DN的心跳和块报告

JounalNode: 用于active standby nn节点的同步数据
                     一般部署2n+1

ZKFC: 单独的进程
           监控NN监控健康状态
           向zk集群定期发送心跳,使得自己可以被选举;
           当自己被zk选举为active的时候,zkfc进程通过RPC协议调用使NN节点的状态变为active,
           对外提供实时服务,是无感知的。

YARN HA

hadoop001: zk  rm(zkfc)   nm

hadoop002: zk  rm(zkfc)   nm

hadoop003: zk  nm

ZKFC: 线程  
只作为RM进程的一个线程而非独立的进程存在

RMStateStore: 
存储在zk的/rmstore目录下。
1.activeRM会向这个目录写APP信息
2.当activeRM挂了,另外一个standby RM通过
ZKFC选举成功为active,会从/rmstore读取相应的作业信息。
重新构建作业的内存信息,启动内部的服务,
开始接收NM的心跳,构建集群的资源信息,并且接收客户端的作业提交请求。

1.启动时候会向ZK的/rmstore目录写lock文件,写成功就为active,否则standby.
rm节点zkfc会一直监控这个lock文件是否存在,假如不存在,就为active,否则为standby.
2.接收client的请求,接收和监控NM的资源状况的汇报,负载资源的分配和调度。
3.启动和监控APPMASTER on NM节点的container。
applicationsmanager RM
applicationmaster   NM container容器里  作业的主程序

RM:
1.启动时候会向ZK的/rmstore目录写lock文件,写成功就为active,否则standby.
rm节点zkfc会一直监控这个lock文件是否存在,假如不存在,就为active,否则为standby.
2.接收client的请求,接收和监控NM的资源状况的汇报,负载资源的分配和调度。
3.启动和监控APPMASTER on NM节点的container。
applicationsmanager RM
applicationmaster   NM container容器里  作业的主程序

NM:
节点资源的管理  启动容器运行task计算  上报资源

面试点:

1.ZKFC是线程

2./rmstore存储在哪里?

hadoop HA 架构相关推荐

  1. Hadoop HA 是什么?架构?

    Hadoop  HA 是什么? hadoop2版本中可以有多个namenode结点,一个是活跃(active)状态,一个是准备(standby)状态.(haoop 1不存在此特性) Hadoop HA ...

  2. 新闻网大数据实时分析可视化系统项目——5、Hadoop2.X HA架构与部署

    1.HDFS-HA架构原理介绍 hadoop2.x之后,Clouera提出了QJM/Qurom Journal Manager,这是一个基于Paxos算法实现的HDFS HA方案,它给出了一种较好的解 ...

  3. Hadoop HA 机制学习:HA是怎么运作,QJM又是怎么发挥功效的

    一.Hadoop 系统架构 1.1 Hadoop1.x和Hadoop2.x 架构 在介绍HA之前,我们先来看下Hadoop的系统架构,这对于理解HA是至关重要的.Hadoop 1.x之前,其官方架构如 ...

  4. Hadoop HA 深度解析

    社区hadoop2.2.0 release版本开始支持NameNode的HA,本文将详细描述NameNode HA内部的设计与实现. 为什么要Namenode HA? 1. NameNode High ...

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

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

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

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

  7. 图说Hadoop HA

    1.hadoopHA 概览 2.hadoop HA 架构图 3.架构 4.运行流程图 5.组件 转载于:https://www.cnblogs.com/dreamofintellegent/p/579 ...

  8. Hadoop Ha集群配置

    为什么要配置HDFS HA?   首先:HDFS集群中NameNode 如果存在单点故障.对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用. 而影响HD ...

  9. Hadoop Ha (High avilable)配置

    为什么要配置HDFS HA? 首先:HDFS集群中NameNode 如果存在单点故障.对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用. 而影响HDFS ...

最新文章

  1. 关于正则表达式 \1 \2之类的问题
  2. vue-cli 各文件夹的用途
  3. 市面上主流的TCC框架介绍
  4. 挺个性的jQuery返回底部、返回顶部特效
  5. Window Live Toolbar 初体验
  6. 01_13_JSP编译指令
  7. 电脑有电流声怎么解决_【音响杂谈】音响有电流声怎么办 - 音响杂音的处理办法...
  8. arch linux 时间,System time (简体中文)
  9. oracle的查询数据(检索数据)
  10. 区块链开发教程系列【加精】
  11. 服务器cpu和普通cpu性能,服务器cpu排行(为什么服务器cpu不适合家用)
  12. 投资是一个非常专业的领域,亏钱容易赚钱难
  13. 【gensim中文教程】开始使用gensim
  14. MySQL执行-SQL执行顺序
  15. 格里高利历java_java时间类简单总结
  16. [代码审计]Weiphp5.0 前台文件任意读取分析
  17. Mysql ERROR 1265 (01000): Data truncated for column ‘XXX‘ at row X
  18. 大数据-玩转数据-hive的安装
  19. MySQL Status意义
  20. Linux添加定时任务提示权限不够/var/spool/cron/tmp.XXXXFSq8E3: 权限不够 crontab: edits left in /tmp/crontab.HaZsu1

热门文章

  1. 信捷原创程序,8个伺服轴。 PLC:信捷XDM-60T10 HMI:信捷TG765 总体I/O在200个点之内
  2. 一个研究生导师的肺腑直言
  3. 千万不要嫁给程序猿,我是认真的
  4. android游戏开发实例-可局域网对战的飞行棋(一)
  5. Qt中实现获取中文首字母(GB2312 和 unicode以及调用Unihan实现全汉字拼音转换,支持多音字和生僻字等)和中英文数字排序功能
  6. python使用正则表达式代码_python如何使用正则表达式
  7. flutter 收起软键盘
  8. 什么是虚拟主机?虚拟主机的作用有哪些?
  9. 请求报错Required String parameter 'id' is not present
  10. EAP通讯基础之SECS/GEM/GEM300mm