Yarn基本介绍
(一)Yarn的概念(定义)
是一个通用资源管理系统和调度平台,可为上层应用提供统一的资源管理和调度。它的引入为集群在利用率,资源统一管理和数据共享等方面带带了巨大好处。
(二)yarn的三大组件及各自的作用
ResourceManager(RM): YARN集群中的主角色,决定系统中所有应用程序之间资源分配的最终权限,即最终仲裁者。接收用户的作业提交,并通过NM分配,管理各个机器上的计算资源。了解集群中各个节点的资源使用情况,并根据调度策略(如公平调度或容量调度)将资源分配给不同的应用程序。
NodeManager(NM)。YARN中的从角色,一台机器上一个,负责管理本机器上的计算资源。根据RM命令,启动Container容器,监视容器的资源使用情况。并且向RM主角色汇报资源使用情况。
ApplicationMaster(AM)。用户提交的每个应用程序均包含一个AM。应用程序内的“老大”,负责程序内部各阶段的资源申请,监督程序的执行情况。
(三)yarn的三个资源调整策略
按照应用提交的时间顺序依次处理请求,先提交的任务先获得资源。
1. 资源分区策略
YARN支持资源分区,允许创建不同的资源池,用于分配给不同类型的用户或应用程序。
2. 资源抢占策略
YARN支持资源抢占,允许资源管理器从低优先级应用程序中回收资源,以满足高优先级应用程序的需求
3. 动态资源分配策略
YARN的动态资源分配功能可以根据当前需求自动调整资源分配。
(四)hadoop的三大结构各自的作用
HDFS:负责存储海量数据,提供高容错性和高吞吐量的数据访问。
MapReduce:负责分布式计算,将大规模数据处理任务分解为多个子任务并并行执行。
YARN:负责资源管理和任务调度,支持多种计算框架,确保集群资源的高效利用。