`
wujun8
  • 浏览: 11894 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

Apache Hadoop YARN – ResourceManager

阅读更多

原文地址:Apache Hadoop YARN – ResourceManager

ResourceManager (RM) 是管理所有可用的集群资源并协助管理运行在YARN上的分布式应用的主要组件。RM与每个节点的NodeManagers (NMs)和每个应用的ApplicationMasters (AMs)一起工作。

  1. NodeManagers 遵循来自ResourceManager的指令来管理单一节点上的可用资源。
  2. ApplicationMasters负责与ResourceManager协商资源并与NodeManagers合作启动容器。

ResourceManager 架构

ResourceManager 组件

ResourceManager 有以下组件:
1. RM与客户端交互的接口:

  • ClientService:Resource Manager的客户端接口。该组件处理从客户端到RM的所有RPC接口,包括像应用提交、应用终止、请求队列信息和集群统计信息等操作。
  • AdminService:用来保证管理请求不会由于普通用户的请求而饿死,赋予操作者的命令更高的优先级。所有的管理操作,如刷新节点列表或队列的配置等,都通过这个独立的接口提供服务。
2. RM与其它节点的连接组件:

  • ResourceTrackerService:该组件回应所有节点的RPC请求。它负责注册新的节点,拒绝无效或退役节点的请求,获取节点的心跳并转发到YarnScheduler。它与下面描述的NMLivelinessMonitor 和 NodesListManager组件配合得很不错。
  • NMLivelinessMonitor:该组件根据每个节点的上一次心跳来跟踪存活节点和记下死亡节点。任何在规定时间内(默认10分钟)没有心跳的节点都将被RM认为死亡和过期。过期节点上所有正在运行的容器都被标记为死亡,这样的节点上不会再有新的容器被调度。
  • NodesListManager:一个管理有效或排除节点的集合。负责读取指定的主机配置文件(通过yarn.resourcemanager.nodes.include-path和yarn.resourcemanager.nodes.exclude-path),初始化基于这些文件的节点列表。同时,随着时间的推移,跟踪那些退役的节点。

3. RM与每个应用的AMs交互的接口:

  • ApplicationMasterService:该组件回应所有的AMs的RPC请求。它负责注册新的AMs,终止或注销来自任何完成的AMs的请求,从正在运行的AMs获取容器分配和释放的请求并转发到YarnScheduler。它与以下描述的AMLivelinessMonitor配合得不错。
  • AMLivelinessMonitor:该组件根据每个AM的上一次心跳来跟踪存活节点和记下死亡节点。任何在规定时间内(默认10分钟)没有心跳的AM都将被RM认为死亡和过期。过期AM管理的所有正在运行或分配的容器都被标记为死亡。RM会调度同样的AM运行在一个新容器里,默认允许做多4次这样的尝试。
4. RM的核心——调度器和相关组件:

  • ApplicationsManager:负责维护一个已提交应用的集合。还做了已完成应用的缓存,以便为用户通过web UI 或命令行发出的请求提供服务,直到这些应用结束。
  • ApplicationACLsManager:RM 必须为这些客户端和管理请求的用户APIs设立一道关卡,使得它们只对授权用户可见。该组件为每一个应用维护了一个ACLs列表,并且每当接收到像杀死一个应用、查看应用状态的请求时就执行它们。
  • ApplicationMasterLauncher:维护一个线程池来运行新提交的或者前一个AM尝试因故退出的应用的AMs。还负责在应用正常结束或强制终止时清理对应的AM。
  • YarnScheduler:该调度器在容量、队列等因素的制约下负责对各种各样的正在运行的应用分配资源。这是基于应用的诸如内存、CPU、磁盘和网络等资源的需求来调度的。但是,目前只支持内存,不远的将来就会支持CPU调度。
  • ContainerAllocationExpirer:该组件负责保证所有已分配的容器是被AMs使用的并且随后运行在相应的NMs。如果AMs运行了不信任的用户代码,可能会占用分配到的资源而不使用,同样导致了集群的利用率低下。为了处理这个问题,ContainerAllocationExpirer 维护了一个已分配但仍旧没有在相应的NMs上使用的容器列表。对于任何容器,如果相应的NM没有在指定时间(默认10分钟)内向RM报告这个容器已经开始运行,那么这个容器就被RM认定为死亡和过期。

5. 令牌密码管理组件:ResourceManager 有一个密钥管理的集合,负责管理在各种RPC接口上的认证和授权请求中使用的令牌、密钥。就不详细介绍了,主要有

  • ApplicationTokenSecretManager
  • ContainerTokenSecretManager
  • RMDelegationTokenSecretManager

6. 代理令牌重建组件:在安全模式下,RM使用的是Kerberos认证,因此可以提供更新代表应用的文件系统令牌的服务。只要有应用运行,该组件就更新已提交的应用的令牌,直到令牌再也不能更新。


结论

在YARN里,ResourceManager 主要限于在相互竞争的应用之间调度系统中的可用资源,而不考虑每个应用的状态管理。由于这种清晰的责任划分,加上上述的模块化,还有强大的调度接口,RM能够解决诸如可扩展性、支持可迭代程序设计范型等最重要的设计需求。
调度器是可插拔式的,可以实现不同的算法以支持不同的约束策略。

分享到:
评论

相关推荐

    hadoop-yarn-server-resourcemanager-2.6.0-API文档-中文版.zip

    赠送jar包:hadoop-yarn-server-...标签:server、apache、resourcemanager、hadoop、yarn、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性

    hadoop-yarn-server-resourcemanager-2.7.4.jar

    hadoop2.7.4安装包补丁包,解决yarn定时调度启动问题!!

    apache hadoop 2.7.2.chm

    apahe hadoop2.7.2 官方文档,离线版 General Overview Single Node Setup Cluster Setup Hadoop Commands Reference FileSystem Shell Hadoop Compatibility Interface Classification FileSystem ...

    hadoop-2.2.0-x64.tar.gz part3

    [INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [13.082s] [INFO] hadoop-yarn-server-tests .......................... SUCCESS [0.443s] [INFO] hadoop-yarn-client ........................

    hadoop-2.2.0-x64.tar.gz part2

    [INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [13.082s] [INFO] hadoop-yarn-server-tests .......................... SUCCESS [0.443s] [INFO] hadoop-yarn-client ........................

    rmstateutils:分析Hadoop Yarn Resource Manager状态存储的工具

    运行状态复制类,如下所示 java -cp ~/etc/hadoop/conf:./rmstateutils-1.0-SNAPSHOT-jar-with-dependencies.jar org.apache.hadoop.yarn.server.resourcemanager.recovery.RMStateCopy fs zkHadoop conf dir和“带...

    hadoop-2.2.0-x64.tar.gz part1

    [INFO] hadoop-yarn-server-resourcemanager ................ SUCCESS [13.082s] [INFO] hadoop-yarn-server-tests .......................... SUCCESS [0.443s] [INFO] hadoop-yarn-client ........................

    hops:Hops Hadoop是具有分布式元数据的Apache Hadoop发行版

    Hops Hadoop发行版 啤酒花(H adoopö笔P ... 这使我们的YARN架构没有停机时间,而ResourceManager的故障转移在几秒钟内发生。 HopsFS和HopsYARN一起使Hadoop集群可以扩展到更大的容量和更高的吞吐量。 在线文件

    incubator-yunikorn-core:Apache YuniKorn核心

    YuniKorn的体系结构设计还允许添加不同的垫片层,并采用不同的ResourceManager实现,包括Apache Hadoop YARN或任何其他系统。 开始使用 了解如何开始使用上Kubernetes运行YuniKorn,请阅读文档 。 想更多地了解...

    vagrant-jilla-hadoop:流浪者设置来启动vm hadoop集群

    带Spark 1.4.1和Hive,Pig客户端的vagrant-hadoop-2.6.0介绍Vagrant项目通过数据节点中的Hadoop v2.6.0,Spark 1.4.1以及apache hive和pig客户端启动了由5个虚拟机组成的集群node1:HDFS名称节点+ Spark Master node...

    【容器系统】之大数据容器化-基于Kubernetes构建现代大数据系统.pdf

    以Spark on YARN为例,核⼼组 件YARN作为资源调度器,其结构如下图所⽰ 下图讲述了Apache Spark on YARN的⼯作⽅式: YARN ResourceManager的功能为: 负责集群中所有资源的统⼀管理和分配,它接收来⾃各个节点...

Global site tag (gtag.js) - Google Analytics