RM有单点失败的风险,但是可以做HA。

 RMs HA通过master/standby这种结构实现,一个master是active的,其它standby是inactive的。可能通过命令行切换主备节点,也可以在遇到问题时自动切换。
手动切换:
    自动切换失效时,管理员可以执行手动切换。步骤是:先把原来active的RM切换为inactive,然后把一个standby的RM切换为active,通过yarn rmadmin命令台实现。
自动切换:
    通过zookeeper可以实现RM的自动切换。注意:在RM上运行一个ZKFC进程来监控RM的运行状态,RM中已经内嵌了ActiveStandbyElector 进程来检查RM的运行状态。 
client\applicationMaster\nodeManager 在 RM failover的表现
    如果有多个RM,则client和其它需要连接到RM的工具需要在配置文件(yarn-site.xml)中把所有的RM都列出来。然后这些client会循环连接这些RMs,直接能连上一个active的RM。如果连接上后,这个RM宕机,则客户端会继续循环连接这些RMs,直到连接上下一个active的RM。这个行为是由org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider实现的,用户可以实现这个类并且修改yarn.client.failover-proxy-provider的值来修改这个行为。

recovering prevous active-RM status 恢复之前的RM状态
    如果启用了RM restart,在active的RM宕机后,standby的RM会接管之前active-RM的职责并加载其状态。在有多个RM的情况下,保存RM元数据的state-store必须可以被每个RM访问。有两种方式实现state-store,filesystem和zookeeper,但是只有zookeeper支持任意时刻任意一个RM都可以读写statue-store,这样就解决了多个RM同时读写statu-store的问题(inacitve RM可能会干扰active RM)。因此,RM HA的应用使用zookeeper来实现。使用zookeeper state-store时,不要设置zookeeper.DigestAuthenticationProvider.superDigest(zookeeper权限相关)。

配置:

yarn admin:
$ yarn rmadmin -getServiceState rm1
active $ yarn rmadmin -getServiceState rm2
standby









































五:ResourceManager High Availability RM 高可用的更多相关文章

  1. MySQL 系列(五) 多实例、高可用生产环境实战

    MySQL 系列(五) 多实例.高可用生产环境实战   第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...

  2. 每天学点SpringCloud(五):如何使用高可用的Eureka

    前几篇文章我们讲了一下Eureka的基础使用,但是呢有一个很重要的问题,我们讲的都是单机版的情况,如果这个时候Eureka服务挂了的话,那么我们的服务提供者跟服务消费者岂不是都废了?服务提供者和消费者 ...

  3. SpringCloud微服务实战——搭建企业级开发框架(十五):集成Sentinel高可用流量管理框架【熔断降级】

      Sentinel除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一.由于调用关系的复杂性,如果调用链路中的某个资源不稳定,最终会导致请求发生堆积.Sentinel ...

  4. Nginx笔记总结十五:nginx+keepalive+proxy_cache配置高可用nginx集群和高速缓存

    nginx编译 wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz ./configure --prefix=/usr/loca ...

  5. Hadoop官方文档翻译—— YARN ResourceManager High Availability 2.7.3

    ResourceManager High Availability (RM高可用) Introduction(简介) Architecture(架构) RM Failover(RM 故障切换) Rec ...

  6. Hadoop2.7.1配置NameNode+ResourceManager高可用原理分析

    关于NameNode高可靠需要配置的文件有core-site.xml和hdfs-site.xml 关于ResourceManager高可靠需要配置的文件有yarn-site.xml 逻辑结构: Nam ...

  7. Redis高可用之哨兵模式Sentinel配置与启动(五)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  8. ResourceManager High Availability

    Introduction This guide provides an overview of High Availability of YARN’s ResourceManager, and det ...

  9. 七、Hadoop3.3.1 HA 高可用集群QJM (基于Zookeeper,NameNode高可用+Yarn高可用)

    目录 前文 Hadoop3.3.1 HA 高可用集群的搭建 QJM 的 NameNode HA Hadoop HA模式搭建(高可用) 1.集群规划 2.Zookeeper集群搭建: 3.修改Hadoo ...

随机推荐

  1. __doPostBack 方法解析

    function __doPostBack(eventTarget, eventArgument)的eventTarget参数是引起回送的控件的ID,eventArgument参数是回调参数(与控件相 ...

  2. 使用第三方库iOS-ECharts做柱状图的心得

    最近的项目里面用到了饼图和条形统计图,饼图用的是PNChart来做的,这个库感觉用起来也简单,但是做条形统计图的时候就特别蛋疼(不知道是不是我姿势没对),反正就是各种问题,然后就想到换一种框架,最后选 ...

  3. Java之变量

    Java变量分为类变量.实例变量.局部变量: 类变量包括静态变量: 局部变量:就是本地变量,使用范围:方法,构造器(构造方法),块:销毁:程序执行完或退出立即销毁:局部变量没有默认值,声明的同时必须赋 ...

  4. 断言assert()与调试帮助

    列表内容assert()是一种预处理宏(preprocessor marco),使用一个表达式来作为条件,只在DEBUG模式下才有用. assert(expr); 对expr求值,如果expr为假,则 ...

  5. 第2章 jQuery选择器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. vue-知乎日志

    1.项目API来源 2.项目地址 3.截图                                                       4.功能 首页 轮播图 动态消息 下拉刷新 动态 ...

  7. 帝国cms全文搜索 增加自定义字段搜索

    帝国cms全站搜索功能只能调出固定的几个字段,如果想搜索其他字段的值,这时我们应该怎么办呢?开拓族网站有这个需求,所以研究了一下帝国的全站搜索,后来发现在/e/sch/index.php中可以直接对数 ...

  8. 学习 Git的使用过程

    原文链接: http://www.cnblogs.com/NickQ/p/8882726.html 学习 Git的使用过程 初次使用 git config --global user.name &qu ...

  9. Active Job 基础

    开发中涉及到调用三方服务API,运行时间长,结果不需要实时反馈给用户这样的任务,都可以使用异步处理.常见的场景包括:发邮件和短信.图片处理.定时清理等.爬虫. 后端处理软件可以自行选择这里选择了sid ...

  10. Java学习笔记二十三:Java的继承初始化顺序

    Java的继承初始化顺序 当使用继承这个特性时,程序是如何执行的: 继承的初始化顺序 1.初始化父类再初始子类 2.先执行初始化对象中属性,再执行构造方法中的初始化 当使用继承这个特性时,程序是如何执 ...