ResourceManger Restart

ResourceManager负责资源管理和应用的调度,是YARN的核心组件,有可能存在单点失败的问题。ResourceManager Restart是使RM在重启动时能够使Yarn集群正常工作的feature,并且使RM的出现的失败不被用户知道。

ResourceManager Restart feature is divided into two phases:

  • ResourceManager Restart Phase 1 (Non-work-preserving RM restartsince hadoop2.4.0): Enhance RM to persist application/attempt state and other credentials information in a pluggable state-store. RM will reload this information from state-store upon restart and re-kick the previously running applications. Users are not required to re-submit the applications.
  • ResourceManager Restart Phase 2 (Work-preserving RM restart, since hadoop2.6.0): Focus on re-constructing the running state of ResourceManager by combining the container statuses from NodeManagers and container requests from ApplicationMasters upon restart. The key difference from phase 1 is that previously running applications will not be killed after RM restarts, and so applications won’t lose its work because of RM outage.

ResourceManager High Availability

Hadoop2.4.0之前,ResourceManager存在单点失败的问题。Yarn的HA(高可用)使用Actice/Standby结构。在任意一个时刻,只有一个Active RM,一个到多个Standby RM。其实就是将ResourceManager进行了备份,使得系统中存在Active RM和Standby RM。

Manual transitions and failover

输入yarn rmadmin

Automatic failover

当RM 失效或者不再响应时,基于Zookeeper的ActiveStandbyElector(已经内嵌到了RM中,不用启动单独的ZKFC daemon)选举出新的Active RM。

Client, ApplicationMaster and NodeManager on RM failover

如果有多个RM,那么所有节点上的yarn-site.xml文件都需要列出所有的RM。Clients、AMs、NMs以Round-Robin的方式连接RMs,直到遇到一个Active RM为止。如果Active RM失效,那么重新以Round-Robin的方式找到新的Active RM。

The YARN Timeline Server

YARN通过Timeline Server解决apps当前信息和历史信息的存储和检索。TimelineServer的两个职责:

Persisting Application Specific Information

信息的搜集和检索与特定的app或者框架有关。例如MapReduce框架的信息可以包括number of map tasks, reduce tasks, counters…etc。用户可以将app专门的信息通过Application Master包含的TimelineClient

或者App的container进行发布。

Persisting Generic Information about Completed Applications

Generic information为app level的信息,例如queue-name,user info等。通用数据被Yarn的RM发布到timeline store中,用于web-UI的已经完成的apps的信息展示。

NodeManager Restart

NodeManager Restart机制能够使NodeManager所在节点的active Containers不丢失。NM在处理container 管理请求时,将必要的state存储到local state-store。当NMs restart时,首先为不同的子系统加载state,然后让子系统使用加载的state进行恢复。

enabling NM Restart:

(1)       将/conf/yarn-site.xml中的yarn.nodemanager.recovery.enabled设置为true。默认为false

(2)       Configure a path to the local file-system directory where the NodeManager can save its run state.

(3)       Configure a valid RPC address for the NodeManager.

(4)       Auxiliary services.

Link:

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerRestart.html

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/TimelineServer.html

http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/NodeManagerRestart.html

YARN的重启动问题:RM Restart/RM HA/Timeline Server/NM Restart的更多相关文章

  1. 3.19 YARN HA架构及(RM/NM) Restart讲解

    一.ResourceManager HA ResourceManager(RM)负责跟踪集群中的资源,以及调度应用程序(例如,MapReduce作业). 在Hadoop 2.4之前,ResourceM ...

  2. Samza在YARN上的启动过程 =》 之一

    运行脚本,提交job 往YARN提交Samza job要使用run-job.sh这个脚本. samza-example/target/bin/run-job.sh  --config-factory= ...

  3. 安装和启动tftp-server服务器及可能出现Redirecting to /bin/systemctl restart xinetd.service问题的解决方式

    安装和启动tftp-server服务器及可能出现Redirecting to /bin/systemctl restart xinetd.service问题的解决方式 1)首先,检查服务器已安装的tf ...

  4. 对比git rm和rm的使用区别

    在这里说一下git rm和rm的区别,虽然觉得这个问题有点肤浅,但对于刚接触git不久的朋友来说还是有必要的. 用 git rm 来删除文件,同时还会将这个删除操作记录下来:用 rm 来删除文件,仅仅 ...

  5. 并发与多版本:update重启动问题

    以下演示重启动问题,请注意 before触发器和after触发器的行为区别,因为before触发器会触发两次而导致重启动问题,因此使用after触发器更加高效,应该尽量避免在所有触发器中使用自治事务 ...

  6. "git rm" 和 "rm" 的区别

    "git rm" 和 "rm" 的区别 FEB 3RD, 2013 | COMMENTS 这是一个比较肤浅的问题,但对于 git 初学者来说,还是有必要提一下的 ...

  7. installshield制作的安装包卸载时提示重启动的原因以及解决办法

    原文:installshield制作的安装包卸载时提示重启动的原因以及解决办法 有时候卸载installshield制作的安装包程序,卸载完会提示是否重启电脑以完成所有卸载,产生这个提示的常见原因有如 ...

  8. [转]"git rm" 和 "rm" 的区别

    用 git rm 来删除文件,同时还会将这个删除操作记录下来 直观的来讲,git rm 删除过的文件,执行 git commit -m "abc" 提交时, 会自动将删除该文件的操 ...

  9. .gitignore无效解决方案以及git rm和rm的区别

    一. gitignore 先来了解一下gitignore的常用语法 斜杠“/”表示目录, 是否已斜杠开头有很大区别,如 /build 与 build/ 的区别:其中 build/ 表示不管在哪个位置的 ...

随机推荐

  1. 【日常训练】Volleyball(CodeForces-96D)

    题意与分析 这题也是傻逼题,可是我当时打比赛的时候板子出问题了- -|||,怎么调也调不过. 不过思路是很清晰的:先做n次dijkstra然后重新建图,建完了以后根据新的单向图再跑一次dijkstra ...

  2. renren_fast性能测试平台的安装部署

    1.从GitHub下载源码: https://github.com/zyanycall/stressTestPlatform git clone https://github.com/zyanycal ...

  3. react学习(一)组件

    react这个东西,说实话,我刚刚接触一个月不到.感觉这玩意很颠覆我以前的前端开发 比方说,可能,整个项目,并没有一个html文件 比方说,以前我们写前端代码,分的清清楚楚,html里面就是放dom, ...

  4. adb server version (31) doesn't match this client (39) 解决方案

    adb server version (31) doesn't match this client (39) 问题的解决方案, 在cmd中输入adb nodaemon server -a后解决了, 记 ...

  5. C#四则运算器(多态方法实现)

    在上一节C#课上,我们学习了用类的继承的方式来做一个四则运算器,然而老师的代码在课上演示的效果并不理想,而且没有使用多态的思想实现,今天我们就来用多态的方式实现四则运算器. 1. 题目及要求 2. A ...

  6. 如何寻找无序数组中的第K大元素?

    如何寻找无序数组中的第K大元素? 有这样一个算法题:有一个无序数组,要求找出数组中的第K大元素.比如给定的无序数组如下所示: 如果k=6,也就是要寻找第6大的元素,很显然,数组中第一大元素是24,第二 ...

  7. 【RL系列】马尔可夫决策过程——状态价值评价与动作价值评价

    请先阅读上两篇文章: [RL系列]马尔可夫决策过程中状态价值函数的一般形式 [RL系列]马尔可夫决策过程与动态编程 状态价值函数,顾名思义,就是用于状态价值评价(SVE)的.典型的问题有“格子世界(G ...

  8. DDMS_Threads的简单使用

    title: DDMS_Threads的简单使用 date: 2016-07-20 00:44:35 tags: [DDMS] categories: [Tool,IDE] --- 概述 本文记录在 ...

  9. NIO_通道之间传输数据

    通道之间传输数据 transferFrom() transferTo() @Test public void test3() throws IOException { FileChannel inCh ...

  10. crosstool-ng搭建交叉编译环境注意事项

    一,crosstool-ng的下载及编译方法 可以参考如下网站: http://www.crosstool-ng.org/ 二,编译过程注意事项 1)如果遇到有些代码包不能下载,请依据指定版本,在这里 ...