как убить рабочие места Hadoop

Я хочу автоматически убить все мои задания hadoop, когда мой код встречает необработанное исключение. Мне интересно, как лучше всего это делать?

Спасибо

Ответы на вопрос(5)

В зависимости от версии выполните:

version <2.3.0

Убить задницу

hadoop job -kill $jobId

Вы можете получить список всех выполняемых заданий:

hadoop job -list

version >=2.3.0

Убить задницу

yarn application -kill $ApplicationId

Вы можете получить список всех действий ApplicationId:

yarn application -list
 12 апр. 2015 г., 20:09
Также mapred job -kill $ jobId

Бежатьlist чтобы показать все задания, затем используйте jobID / applicationID в соответствующей команде.

Убить отображенные задания:

mapred job -list
mapred job -kill <jobId>

Убить работу пряжи:

yarn application -list
yarn application -kill <ApplicationId>

Необработанное исключение (при условии, что оно повторяется, как неверные данные, а не ошибки чтения из определенного узла данных), в конечном итоге, в любом случае завершит работу.

Вы можете настроить максимальное количество раз, когда конкретная карта или задача сокращения может завершиться сбоем до полного сбоя задания, с помощью следующих свойств:

mapred.map.max.attempts - The maximum number of attempts per map task. In other words, framework will try to execute a map task these many number of times before giving up on it. mapred.reduce.max.attempts - Same as above, but for reduce tasks

Если вы хотите отменить задание при первом сбое, установите для этого значения по умолчанию значение от 4 до 1.

 14 февр. 2014 г., 14:06
Но это также приведет к сбою задания, если один узел умирает, а его задачи не выполняются, даже если не выдается исключение, верно? Однако я считаю, что это действительно самое близкое решение к тому, чего хочет ОП.

hadoop job -list
hadoop job -kill $jobId

рассмотреть возможность использования

mapred job -list
mapred job -kill $jobId
 11 авг. 2016 г., 21:25
Не работает и приводит к следующей ошибке: Исключение в потоке & quot; main & quot; java.lang.IllegalArgumentException: строка JobId: application_1470941878165_0001 сформирована неправильно

Просто принудительно убейте ID процесса, задание hadoop также будет уничтожено автоматически. Используйте эту команду:

kill -9 <process_id> 

eg: process ID no: 4040 namenode

[email protected]:~$ kill -9 4040

Ваш ответ на вопрос