usar spark funciona como common aprender hadoop kill jobs

spark - cómo matar a los trabajos de hadoop



hadoop youtube (5)

Dependiendo de la versión, hazlo:

versión <2.3.0

Mata a un trabajo hadoop:

hadoop job -kill $jobId

Puede obtener una lista de todas las tareas de JobId:

hadoop job -list

versión> = 2.3.0

Mata a un trabajo hadoop:

yarn application -kill $ApplicationId

Puede obtener una lista de todas las acciones de ApplicationId:

yarn application -list

Quiero matar todas mis tareas de hadoop automáticamente cuando mi código encuentre una excepción no controlada. Me pregunto cuál es la mejor práctica para hacerlo?

Gracias


El uso del comando siguiente se deprecia

hadoop job -list hadoop job -kill $jobId

Considere usar

mapred job -list mapred job -kill $jobId


Simplemente mate forzosamente la identificación del proceso, el trabajo de hadoop también se eliminará automáticamente. Use este comando:

kill -9 <process_id>

por ejemplo: nº de ID de proceso: 4040 namenode

username@hostname:~$ kill -9 4040


Una excepción no controlada (suponiendo que sea repetible, como datos erróneos en lugar de leer los errores de un nodo de datos en particular) eventualmente falla el trabajo.

Puede configurar la cantidad máxima de veces que un mapa en particular o una tarea de reducción puede fallar antes de que todo el trabajo falle a través de las siguientes propiedades:

  • mapred.map.max.attempts : el número máximo de intentos por tarea de mapa. En otras palabras, Framework tratará de ejecutar una tarea de mapa tantas veces antes de darse por vencido.
  • mapred.reduce.max.attempts - Igual que el anterior, pero para reducir tareas

Si quiere suspender el trabajo en la primera falla, establezca este valor de 4 a 1 por defecto.


list ejecución para mostrar todos los trabajos, luego use el ID de tarea / aplicación en el comando apropiado.

Mata los trabajos mapred:

mapred job -list mapred job -kill <jobId>

Mata a los trabajos de hilo:

yarn application -list yarn application -kill <ApplicationId>