hadoop job -kill job_id
和yarn application -kill application_id
之间有什么区别? job_id和application_id是否代表/引用相同的任务?
答案 0 :(得分:9)
hadoop job -kill job_id
和yarn application -kill application_id
这两个命令用于终止在Hadoop上运行的作业。
如果您正在使用MapReduce Version1(MR V1)并且想要终止在Hadoop上运行的作业,那么您可以使用hadoop job -kill job_id
来终止作业,它将终止所有作业(运行和排队)。
在MapReduce Version2(MR V2或YARN)中,当您提交MapReduce作业时,它会通过应用程序主机进行处理,因此称为应用程序。可以在应用程序中运行多个任务。如果要杀死应用程序,则可以使用yarn application -kill application_id
命令终止应用程序。它会杀死应用程序下的所有正在运行和排队的作业。
如果你想杀死YARN中的任务,你可以使用hadoop job -kill-task <task-id>
来杀死YARN中的特定任务
此link对于了解YARN中的应用程序和作业非常有用。
答案 1 :(得分:3)
Application_id是与Application master关联的ID。两个ID都是一个且相同(具有相同的ID值),除了ID之前的前缀应用_ 和作业_ 。
两者仅代表相同的工作!!
答案 2 :(得分:0)
如果您使用YARN版本的kill命令,资源管理器会在没有AM知识的情况下终止AM,因此它不会生成历史记录。如果您使用hadoop job -kill job_id,则终止进程将通过AM并允许生成历史记录