在 Apache Hadoop YARN (Yet Another Resource Negotiator) 的架构中,Application(应用程序) 是指提交给 YARN 集群执行的一个完整的计算任务或作业(Job)。 YARN 是一个纯粹的资源管理系统,它本身不关心你要做什么计算。为了让各种不同的计算框架(如 MapReduce、Spark、Flink 等)都能在 YARN 上运行,YARN 抽象出了“Application”这个概念作为最高级别的计算单位。 为了更好地理解 YARN Application,我们可以从它的核心组件、运行流程以及具体实例三个方面来剖析: 1. Application 的核心组件 每一个在 YARN 上运行的 Application,都必然包含以下几个核心部分: ApplicationMaster (AM,应用管理器): 地位:它是每一个 Application 的“大脑”或“大管家”。每个 Application 都有且仅有一个专属的 ApplicationMaster。 职责:它负责向 YARN 的资源管理器(ResourceManage...