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. Dynamic Ambient Occlusion and Indirect Lighting

    This sample was presented on the Nvida witesite, which detail a new idea to calculate the ambient oc ...

  2. AJAX 动态加载后台数据 绑定select

    <select id="select"> <!--下拉框数据动态加载--> </select> js:(使用jquery) $(document ...

  3. 【saltstack 集中化管理】

    Master(监控端): Minion(被监控端) 监控: /etc/master: #interface:监控端地址 #自动接受被监控端证书 #saltstack文件根目录位置 #启动监控 被监控: ...

  4. day 15 装饰器

    装饰器(重点,难点) 开闭原则:             对功能的扩展开放            对代码的修改是封闭的 在目标函数前和后插入一段新的代码.不改变原来的代码 通用装饰器写法: # 存在的 ...

  5. java的值传递机制

    一.练习:编写Java程序,将二维数组中的行列互调显示出来. 代码1为自己编写: package com.xxgpra.CH6; public class Hangliehudiao_pra4 { p ...

  6. A1092

    可输入内容为0-9,a-z,A-Z. 输入: 第一行输入任意字符串: 第二行输入期望字符串. 输出: 如果第一行包含了所有期望字符串,输出yes和多余字符个数: 如果第一行不能完全包含期望字符串,输出 ...

  7. C语言实现左旋字符串

    #include<stdio.h> #include<stdlib.h> #include<string.h> void left_rotate(char *str ...

  8. 剑指offer题目系列三(链表相关题目)

    本篇延续上一篇剑指offer题目系列二,介绍<剑指offer>第二版中的四个题目:O(1)时间内删除链表结点.链表中倒数第k个结点.反转链表.合并两个排序的链表.同样,这些题目并非严格按照 ...

  9. 【blockly教程】第六章 Blockly的进阶

    6.1 模块化程序设计  一个较大的程序一般应分为若干个程序模块,每一个模块用来实现一个特定的功能.所有的高级语言中都有子程序这个概念,用子程序实现模块的功能.比如在C语言中,子程序的作用是由函数完成 ...

  10. SpaceVim 发布 v0.8.0

    This project exists thanks to all the people who have contributed. The last release v0.7.0 is target ...