有没有办法在Hadoop中终止reducer任务?

有没有办法在Hadoop中终止reducer任务?,hadoop,mapreduce,reduce,Hadoop,Mapreduce,Reduce,运行几个map reduce作业,一个作业接管所有reducer容量。有没有办法杀死一个或两个reducer任务来释放集群 我可以直接转到TaskTracker服务器,手动终止java进程。但是我想知道是否有更体面的方法来做这件事?首先找到工作ID: hadoop job -list 现在,干掉这项工作: hadoop job -kill <job_ID_goes_here> hadoop作业-kill 您可以通过以下方式终止任务尝试: hadoop job -kill-task

运行几个map reduce作业,一个作业接管所有reducer容量。有没有办法杀死一个或两个reducer任务来释放集群

我可以直接转到TaskTracker服务器,手动终止java进程。但是我想知道是否有更体面的方法来做这件事?

首先找到工作ID:

hadoop job -list
现在,干掉这项工作:

hadoop job -kill <job_ID_goes_here>
hadoop作业-kill

您可以通过以下方式终止任务尝试:

hadoop job -kill-task [task_attempt_id]

要获取任务尝试id,您需要深入任务一层(通过单击作业跟踪器上的任务超链接)。

hadoop作业-终止任务[trunt id]
,其中可以从UI获取尝试id。

谢谢,但这会终止整个作业。。我只想杀死一个任务,让剩下的运行。我们的目标是为我的其他轻量级作业腾出一个运行的插槽。好的,然后您可以按照指示手动终止它。但是,这是对您的资源的一种非常糟糕的使用,因为在重新执行您杀死的任务之前,其他任务不会释放它们的插槽。相反,请查看CapacityScheduler,并使用具有限制的队列来确保一个作业不能占用整个集群的容量(即使它愿意)。