根据 Yarn 文档,YarnApplicationState 是 ResourceManager 报告的应用程序状态,而 FinalStatus 是 ApplicationMaster 本身报告的应用程序的最终状态。有时,当 YarnApplicationState 为"成功"时,应用程序的"最终状态"可能为 FAILED。那么这两种状态有什么区别呢?哪一个可以决定任务是否成功执行?
资源管理器
反映应用程序在回答以下问题的 YARN 方面的状态:
Did the application complete properly? Did all the mapper and reducer tasks complete?
虽然AM的最终状态可以反映应用程序的目的是否成功回答以下问题:
Did it produce the right output? Was it able to write output to HDFS?