YARN(Yet Another Resource Negotiator) 是 Hadoop 集群资源管理系统, 是 Hadoop 生态系统的核心组件,主要负责 Hadoop 集群中的资源管理、作业调度/监控。
YARN 组件信息如下:
ResourceManager:是一个全局的资源管理器,负责集群的资源管理与调度,为运行在 YARN 上的作业分配资源。
NodeMananger:负责节点的资源管理、监控和作业运行。它定时地向 RM 汇报本节点上的资源使用情况和各个 Container 的运行状态,也接收并处理来自 AM 的 Container 的启动/停止等各种请求。
ApplicationMaster:用户提交的每个作业均包含一个 AM,主要功能有:
与 RM 调度器协商以获取资源,用 Container 表示。
将得到的 Container 进一步分配给内部的 task。
与 NM 通信用以启动/停止任务。
监控所有任务的运行状态,并在任务运行失败时重新为任务申请资源以重启任务
Container:是 YARN 中的资源抽象,封装了某个节点上的多维度资源,如 CPU、Memory等
YARN Client:负责提交任务。