zoukankan      html  css  js  c++  java
  • CH5 ResourceManager重启

    概述

    ResourceManager是集群中绝对的资源管理工具,并且调度应用在YARN上运行。因此对于YARN来说是一个单点问题。这个文档介绍RM的重启。
    有2种重启的方式:
    1.非工作保留RM重启:就是RM重启并不保存工作,并且会重启之前运行的应用
    2.工作保留RM重启:RM重启会保留工作状态,并不会让工作的应用重启。

    特性
    非工作保留RM重启

    非工作保留RM重启,RM会保存应用的元数据。当RM关闭,只要被请求的信息可用,当RM重启的时候,会获取应用的源信息并且重新提交应用。如果已经完成的app RM不会重复提交。
    NodeManagers和client在RM down的时候一直和RM交互,知道RM启动。当RM起来会发送一个同步命令到NodeManager和AM。NM会kill所有被管理的容器然后重新注册到RM中。重新注册的NodeManager和新加入的NM类似。AM当收到同步命令的时候会被关闭。然后RM重启获取所有应用元数据,这证书放入内存。并且为没有完成的应用创建AM,之前运行的应用工作其实就是丢失了。相当于被kill,然后重新启动了。

    工作保留RM重启

    工作保留RM重启,RM会保存应用的状态并且在恢复的时候重新加载这些状态,这个重启主要是在于重新构建YARN集群的运行状态,主要是集群中容器的生命周期,应用的headroom,资源请求,队列的资源使用等等。这样rm不需要kill AM然后重新运行应用。应用可以简单的和RM同步恢复之前丢失的状态。
    RM恢复运行状态是利用从NM发过来的容器的运行状态。NM不会kill容器。当NM注册的时候,会继续管理容器并且发送容器状态到RM。RM重新构建容器实例并且关联应用的调度状态。同时AM也需要重新发送资源请求到RM,可能之前丢失了。这些由AMRMClient lib完成。

    配置
    Enable RM Restart
    属性
    yarn.resourcemanager.recovery.enabled true
    配置RM状态的保存
    属性
    yarn.resourcemanager.store.class 类名用来配置rm状态保存的位置,Zookeeper:org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore ,Hadoop文件系统:org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore,LevelDB:org.apache.hadoop.yarn.server.resourcemanager.recovery.LeveldbRMStateStore,默认:org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
    配置工作保留RM恢复
    属性
    yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms 设置RM在分配新的容器之前,等待工作恢复的时间。
  • 相关阅读:
    Opengl绘制我们的小屋(二)第一人称漫游
    C# this.Invoke和this.BeginInvoke 最简单的写法
    C# 递归模型定义。赋值
    .net Core 2.1 后 Session保存,新页面获取不到值
    .net core mvc 错误信息显示 ModelState.AddModelError
    .net Core 依赖注入 Add********说明
    C# 中2个问号的作用。C#的??代表是什么意思
    asp.net mvc 加三层架构 完美搭配
    C# DataTable.Compute()用法
    C# DateTime判断时间
  • 原文地址:https://www.cnblogs.com/Amaranthus/p/14943657.html
Copyright © 2011-2022 走看看