Я хочу убить все мои задания hadoop автоматически, когда мой код встречает необработанное исключение. Мне интересно, что это лучший способ сделать это?
Спасибо
Я хочу убить все мои задания hadoop автоматически, когда мой код встречает необработанное исключение. Мне интересно, что это лучший способ сделать это?
Спасибо
В зависимости от версии выполните:
версия < 2.3.0
Убейте работу hadoop:
hadoop job -kill $jobId
Вы можете получить список всех jobId:
hadoop job -list
version >= 2.3.0
Убейте работу hadoop:
yarn application -kill $ApplicationId
Вы можете получить список всех приложений ApplicationId:
yarn application -list
Использование следующей команды обесценивается
hadoop job -list
hadoop job -kill $jobId
рассмотрим использование
mapred job -list
mapred job -kill $jobId
Запустите list
, чтобы показать все задания, а затем используйте идентификатор jobID/applicationID в соответствующей команде.
Убейте отображаемые задания:
mapred job -list
mapred job -kill <jobId>
Убить задания на пряжу:
yarn application -list
yarn application -kill <ApplicationId>
Необработанное исключение (при условии, что оно повторяется, как плохие данные, в отличие от ошибок чтения из определенных данных node), в конечном итоге все равно сработает.
Вы можете настроить максимальное количество раз, когда конкретная карта или задача сокращения могут завершиться неудачно, прежде чем вся работа завершится с помощью следующих свойств:
mapred.map.max.attempts
- максимальное количество попыток на задание карты. Другими словами, структура будет пытаться выполнить задачу карты столько раз, прежде чем отказаться от нее.mapred.reduce.max.attempts
- То же, что и выше, но для сокращения задачЕсли вы хотите завершить работу при первом сбое, установите для этого значения значение по умолчанию от 4 до 1.
Просто принудительно уничтожьте идентификатор процесса, задание hadoop также будет автоматически убито. Используйте эту команду:
kill -9 <process_id>
например: идентификатор процесса no: 4040 namenode
[email protected]:~$ kill -9 4040
yarn application -kill application_XXXXXXXXXXX_XXXX