在 Apache Hadoop YARN 的架构中,Timeline Server(通常简称为 ATS,Application Timeline Server) 是一个非常重要的组件。 简单来说,它是一个用于收集、存储和检索 YARN 上运行的应用程序的当前和历史指标与元数据的服务。 下面为您详细拆解它的定义、背景以及具体的作用。 --- 一、 为什么需要 Timeline Server?(背景) 在 Timeline Server 出现之前,YARN 面临着几个痛点: 1. Resource Manager (RM) 的内存限制: RM 的核心职责是资源调度。虽然它可以显示正在运行和刚刚完成的应用程序信息,但为了不撑爆内存,RM 只会保留最近一段时间的作业记录。一旦作业完成很久,或者 RM 发生重启,这些历史数据就会丢失。 2. JobHistory Server (JHS) 的局限性: Hadoop 早期有 JobHistory Server,但它是专门为 MapReduce 定制的。随着大数据生态的发展,YARN 上运行了越来越多其他的计算框架(如 Spark、Tez、Fl...