【发布时间】:2015-05-19 03:31:13
【问题描述】:
hadoop job -kill job_id 和 yarn application -kill application_id 有什么区别? job_id 和 application_id 是否代表/引用同一个任务?
【问题讨论】:
hadoop job -kill job_id 和 yarn application -kill application_id 有什么区别? job_id 和 application_id 是否代表/引用同一个任务?
【问题讨论】:
hadoop job -kill job_id 和 yarn application -kill application_id 这两个命令都用于终止在 Hadoop 上运行的作业。
如果您使用 MapReduce Version1(MR V1) 并且想要终止在 Hadoop 上运行的作业,那么您可以使用 hadoop job -kill job_id 终止作业,它将终止所有作业(包括正在运行的和排队的)。
在 MapReduce 版本 2(MR V2 或 YARN)中,当您提交 MapReduce 作业时,它通过应用程序主机处理,因此该作业称为应用程序。应用程序中可能运行多个任务。如果你想杀死一个应用程序,那么你可以使用yarn application -kill application_id 命令来杀死应用程序。它将杀死应用程序下所有正在运行和排队的作业。
如果你想杀死 YARN 中的一个任务,那么你可以使用hadoop job -kill-task <task-id> 来杀死 YARN 中的一个特定任务
此link 将有助于了解 YARN 中的应用程序和工作。
【讨论】:
mapred job -kill-task <attempt_id>
yarn application -kill application_id 工作正常
Application_id 是与 Application master 关联的 ID。除了 ID 前面的前缀 application_ 和 job_ 之外,这两个 ID 都是相同的(将具有相同的 ID 值)。
两者只代表同一个工作!!
【讨论】:
如果您使用 YARN 版本的 kill 命令,资源管理器会在 AM 不知情的情况下杀死 AM,因此它不会生成历史记录。如果你使用 hadoop job -kill job_id 杀戮过程会通过 AM 并允许生成历史记录
【讨论】: