Yarn是一个用于大规模分布式计算的资源管理器,主要用于Apache Hadoop生态系统中。它的设计目标是为了提高Hadoop集群的资源利用率,并实现多租户的资源隔离。本文将详细介绍Yarn的系统架构和工作原理,并探讨其在目标跟踪领域的应用。
Yarn系统架构
Yarn的架构由三个核心组件组成:ResourceManager、NodeManager和ApplicationMaster。
-
ResourceManager(资源管理器):ResourceManager是Yarn的主要组件,负责整个集群的资源管理和任务调度。它接收来自客户端的应用程序提交请求,并为每个应用程序分配资源。ResourceManager还负责监控集群中的资源使用情况,并对资源进行分配和回收。
-
NodeManager(节点管理器):NodeManager是每个节点上的代理,负责管理和监控该节点上的资源。它接收来自ResourceManager的命令,并根据指令启动、监控和终止容器(Container)。容器是Yarn中的基本执行单位,用于运行应用程序的任务。
-
ApplicationMaster(应用程序管理器):ApplicationMaster是每个应用程序的主管,负责向ResourceManager申请资源,并与NodeManager协调执行任务。它