que tenía que mirar a través de la historia, por lo que cambió a mapred job -list
mapred job -list all
....
acabé añadiendo un -L
al comando curl, por lo que el bloque había:
curl -s -L -XGET {}
Esto permite la redirección, como si el trabajo se retiró y en el historial de trabajos.También encontré que es JobName en el código HTML de la historia, así que cambié el grep:
grep 'Job.*Name'
Además, por supuesto cambiando hadoop
-mapred
. Aquí está el comando completo:
mapred job -list all | egrep '^job' | awk '{print $1}' | xargs -n 1 -I {} sh -c "mapred job -status {} | egrep '^tracking' | awk '{print \$3}'" | xargs -n 1 -I{} sh -c "echo -n {} | sed 's/.*jobid=//'; echo -n ' ';curl -s -L -XGET {} | grep 'Job.*Name' | sed 's/.* //' | sed 's/<br>//'"
(También ha cambiado alrededor de la primera grep por lo que sólo estaba mirando a un determinado nombre de usuario .... YMMV)
straight forward –
Bonito comando. Aunque fue un poco secuencial y por lotes para mí. Una mejora extrema de esto sería usar xargs '-P' indicador max-procs, especialmente con el primer xargs que está haciendo el comando 'hadoop status -job'. Escogí arbitrariamente (en mi caso) para estar cerca del promedio de trabajos suspendidos que tenemos en nuestro cluster hadoop. YMMV. –
wisehippy
Parece que el uso de 'hadoop job -list' está en desuso, el reemplazo es' mapred job -list'. – slm