千家信息网

资源管理与调度系统YARN该怎么理解

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,今天就跟大家聊聊有关资源管理与调度系统YARN该怎么理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。YARN作为一个通用的资源管理系统,目标
千家信息网最后更新 2024年10月20日资源管理与调度系统YARN该怎么理解

今天就跟大家聊聊有关资源管理与调度系统YARN该怎么理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

YARN作为一个通用的资源管理系统,目标是将短作业和长服务混合部署到一个集群中,并为他们提供统一的资源管理和调度功能,概括起来主要解决以下两个问题:1.提高集群资源利用率,2.服务自动化部署。

一、YARN的基本架构:

YARN总体上采用master/slave架构,ResourceManager为master,NodeManager为slave,ResourceManager负责对各个NodeManager上的资源进行统一管理和调度。当用户提交一个应用程序时,需要提供一个用以跟踪和管理这个应用程序的ApplicationMaster,它负责向ResourceManager申请资源,并要求NodeManager启动可以占用一定资源的任务,由于不同ApplicationMaster被分不到不同的节点上,因此它们之前不会相互影响。

YARN:主要由ResourceManager、NodeManager、ApplicationMaster、和Container组成。

ResourceManager(RM):是一个全局的资源管理器,负责整个系统的资源管理和分配,主要由调度器(Schedule)和应用管理器(Applications Manager)构成。

1、.调度器:主要功能是根据资源容量,队列等方面限制条件,将系统中的资源分配给各个应用程序。

2、应用程序管理器:负责整个系统中所有应用程序,包括应用程序提交、与调度器协商资源以及启动ApplicationMaster、监控ApplicationMaster运行状态并在失败时重新启动它。

ApplicationMaster(AM):用户提交的每个应用程序均包含一个独立的AM,其主要功能包括:与RM调度器协商以获得资源(用Container表示)、将得到的资源进一步分配给内部任务、与NM通信以启动/停止任务等、监控所有任务的运行状态。

NodeManager(NM):NM是每个节点上的资源管理器,一方面是定时向RM汇报本节点的资源使用情况和各个Container的运行状态,另一方面,他接收并处理来自AM的任务启动或停止等各种请求。

Container:是yarn的基本资源分配单位,对应用程序运行环境的抽象,并为应用程序提供资源隔离环境,它封装了如内存、cup、磁盘、网络等。

二、 YARN的高可用:

ResourceManager HA:引入了Active/Standby ResouceManager通过沉余方式解决ResourceMangager单点故障。

ResourceManager Recovery:内置了重启恢复功能

NodeManager Recovery:NodeManager内置了重启恢复功能。

三、YARN工作流程

当用户向yarn提交一个应用程序后,yarn将分两个阶段运行该程序,第一个阶段是启动ApplicationMaster;第二个阶段是由ApplicationMaster创建应用程序,为他申请资源,并监控它的运行状态。

1、提交应用程序

2、启动ApplicationMaster

3、ApplicationMaster注册

4、获取资源

5、请求启动Container

6、Container监控

7、注销ApplicationMaster

四、YARN资源调度器

层级队列管理机制:组织方式:子队列、最小容量、最大容量

多租户资源调度器:Capacity/Fair Scheduler

1、Capacity Scheduler:以队列为单位划分资源,每个队列可设定一定比例的资源最低保证和使用上限,同时,每个用户也可以设定一定的资源使用上限以防止资源滥用,而当一个队列的资源有剩余时,可暂时将剩余资源共享给其它队列。Capacity Scheduler有一下特点:容量保证、灵活性、多重租用、安全保证(ACL)、动态更新配置文件。

2、Fair Scheduler:已队列为单位划分资源,每个队列设定一定比例的最低保证和上限,同Capacity·一样,不同之处主要体现在一下方面:资源公平共享、调度策略配置灵活、提高小应用程序响应时间、应用程序在队列间转移。Fail Scheduler没有采用百分比表示资源,取而代之的是实际资源数量。

可以基于节点的标签调度,及资源强占调度

五、YARN的资源隔离

CPU隔离机制

六、以YARN为核心的生态系统

YARN之上可以运行各种应用类型框架,包括离线计算框架MapReduce、实时计算框架Strom、DAG计算框架Tez等,真正实现了一个集群多用途,这样的集群我们成为轻量级弹性计算平台,说他轻量,是Yarn采用了Cgroups轻量级隔离方案,说它弹性,是因为YARN能够根据各种计算框架或者应用的负载和需求调整它们各自占用的资源,实现集群资源共享、资源弹性收缩。

随着YARN朝着资源管理系统方向更好的发展,最终Web Server、Mysql Server这种长服务,均可部署到YARN之上,这样,Yarn将变为一个服务统一部署和管理平台,最终形成一个以Yarn为核心的生态系统。

资源管理系统Mesos:设计动机是解决编程模型和计算框架在多样化环境下,不同框架建的资源隔离和共享问题,尽管它的设计动机和YARN稍有不同,但架构和实现策略与YARN相似,当前使用Mesos的公司有Twitter、豆瓣等。

资源管理系统架构演变:集中式架构(MRv1 JobTracker)、双层调度架构(YARN、Mesos)、共享状态架构(Omega)。

看完上述内容,你们对资源管理与调度系统YARN该怎么理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

资源 应用 管理 程序 调度 应用程序 系统 队列 架构 框架 运行 资源管理 不同 任务 功能 状态 集群 隔离 容量 用户 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络技术风控评估 哪里有软件开发学校 我的世界服务器40人一个月续费 信息网络安全的第一个时代是啥 数据库课程设计商品销售系统 原创软件开发平台 智慧电梯软件开发费用 怎么才能联系软件开发者 泉州市台商区网络安全宣传周 九台区口碑好的网络安全创新服务 服务器噪声 分布式数据库的7个核心问题 果洛大数据软件开发工程师专业 软件开发综合实验实践 深信服网络管理服务器 三替网络技术有限公司介绍 打网络安全大赛的是谁 空间服务器编辑 苹果手机邮件服务器没有响应 摩托车系统数据库出错 哪里有软件开发学校 数据库管理系统是怎样工作的 c 获取服务器时间 bim软件开发用什么语言 自助式数据库建设 c如何与数据库连接 计算机软件开发工程师工作意愿 学习网络安全需要什么资料 数据库分布式架构怎么设置 打网络安全大赛的是谁
0