导图社区 YARN的基本架构以及组件
YARN (Yet Another Resource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
社区模板帮助中心,点此进入>>
大数据面试(每周更新)
包管理工具
大数据技术
《Hadoop大数据处理》
大数据Hadoop3.0分布式处理实战
Hadoop
hadoop思维导图
Hadoop超详细总结
Hadoop基础
数据仓库-基础
YARN的基本架构以及组件
组件
ResourceManager
以后台进程的形式进行运行,负责对集群资源进行统一管理和任务调度
主要职责
接收来自客户端的请求
启动和管理各个应用程序的ApplicationMaster
接收来自ApplicationMaster的资源申请,并为其分配Container
管理NodeManager,接收来自NodeManager的资源和节点健康情况汇报
NodeManager
集群中每个节点上的资源和任务管理器,以后台进程的形式运行
它会定时向ResourceManager汇报本节点上的资源
内存
CPU
使用情况和各个Container的运行状态
同时会接收并处理来自ApplicationMaster的Container启动/停止等请求
它不会监视任务
它仅监视Container中的资源使用情况
Task
应用程序的具体执行任务
一个应用程序可能有多个任务
Container
Container的大小取决于它所包含的资源量
是YARN中资源分配的基本单位
封装了CPU和内存资源的一个容器
相当于是一个Task运行环境的抽象
从实现看,Container是一个Java抽象类,定义了资源信息
分类
运行ApplicationMaster的Container
由ResourceManager向内部的资源调度器申请和启动
运行各类Task的Container
由ApplicationMaster向ResourceManager申请的,并由ApplicationMaster请求NodeManager进行启动
ApplicationMaster
应用程序管理者
主要负责应用程序的管理
以后台进程的形式运行
它为应用程序向ResourceManger申请资源并将资源分配给所管理的应用程序的Task
基本架构
管理整个集群
管理集群中单个节点
管理单个应用程序