运行几个 map reduce 作业,一个作业接管所有 reducer 容量。有没有办法杀死一两个reducer任务来释放集群?
我可以直接转到其中一个任务跟踪器服务器并手动终止 java 进程。但我想知道是否有更体面的方法来做到这一点?
您可以通过以下方式终止任务尝试:
hadoop job -kill-task [task_attempt_id]
要获取 task-attempt-id,您需要更深入地了解任务(通过单击作业跟踪器上的任务超链接)。
首先找到工作ID:
hadoop job -list
现在,终止工作:
hadoop job -kill <job_ID_goes_here>
hadoop job -kill-task [attempt-id]
其中尝试 ID 可以从 UI 中获取。