Foro Formación Hadoop

 
 
Imagen de Admin Formación Hadoop
Error ResourceManager - "Ejercicio Ejecutando un job MapReduce"
de Admin Formación Hadoop - domingo, 10 de julio de 2016, 11:03
 
Buenos días a tod@s, 
A continuación os indicamos una duda que le ha surgido a uno de nuestros alumnos por si os sirve de ayuda a afrontar los errores que os van saliendo:
 
Por otro lado os detallo el error que estoy teniendo con el ejercicio "Ejecutando un job MapReduce" del primer módulo, os cuento como he generado el archivo .jar por si no lo he hecho bien: 
 
He conseguido generar el .jar a través del eclipse, para ello importé el workspace de los ejercicios y los metí todos en paquetes de un proyecto java. Cada uno de los paquetes los renombre a "com.formacionhaddoop.<carpetaDelEjercicio>" (el nombre que venía en el import de cada clase) y dentro del paquete sus clases. De otra manera no podía generar el archivo .jar. Por otro lado, para depurar algunos errores que salían en las clases me descargué las libreras jar de Hadoop y las importé al eclipse.
 
Pero aun así me seguía dando un error dentro de la clase WordCountDriver.java, a la hora de declarar el Job, la lína es exactamente: 
 
Job job = Job.getInstance(new Configuration(), "Word Count");
 
El error era que no existía el método y buscando por internet encontré que había mas gente que les pasaba, no se si es por la librería  Hadoop que me bajé pero leí que poniendo lo siguiente se arreglaba y efectivamente funcionó (al menos la compilación):
 
Job job = Job.getInstance(new Configuration(), "Word Count");
 
Os adjunto un pantallazo del proyecto generado en eclipse de wordCount y en donde se ve el cambio realizado.
Una vez hecho esto y generado el .jar, ejecuto el job y el error que me sale el siguiente mensaje y se queda ahí esperando al servidor infinitamente: 
 
[cloudera@quickstart wordcount]$ hadoop jar wordcount-1.jar com.formacionhadoop.wordcount.WordCountDriver /formacionhadoop/desarrollador/cervantes /formacionhadoop/desarrollador/wordcounts
16/07/03 02:48:54 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
16/07/03 02:49:00 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:01 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 1 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:02 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 2 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:03 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 3 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:04 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 4 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:05 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 5 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:06 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:07 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 7 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:08 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
16/07/03 02:49:09 INFO ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
 
Miré por internet y vi que para solucionarlo lo mejor era hacer un restart:
 
sudo service hadoop-yarn-resourcemanager restart
 
Lo ejecuté y volví a ejecutar el job y funcionó, se ejecutó el job pero saliendo el siguiente error, de aquí no he sabido pasar, no genera ningún archivo en la carpeta del HDFS wordcounts: 
 
[cloudera@quickstart wordcount]$ hadoop jar wordcount-1.jar com.formacionhadoop.wordcount.WordCountDriver /formacionhadoop/desarrollador/cervantes /formacionhadoop/desarrollador/wordcounts 
16/07/03 02:53:51 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 
16/07/03 02:53:55 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this. 
16/07/03 02:54:00 INFO input.FileInputFormat: Total input paths to process : 2 
16/07/03 02:54:01 INFO mapreduce.JobSubmitter: number of splits:2 
16/07/03 02:54:03 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1467539555386_0001 
16/07/03 02:54:07 INFO impl.YarnClientImpl: Submitted application application_1467539555386_0001 
16/07/03 02:54:08 INFO mapreduce.Job: The url to track the job: http://quickstart.cloudera:8088/proxy/application_1467539555386_0001/ 
16/07/03 02:54:08 INFO mapreduce.Job: Running job: job_1467539555386_0001 
16/07/03 02:54:29 INFO mapreduce.Job: Job job_1467539555386_0001 running in uber mode : false 
16/07/03 02:54:29 INFO mapreduce.Job: map 0% reduce 0% 
16/07/03 02:54:29 INFO mapreduce.Job: Job job_1467539555386_0001 failed with state FAILED due to: Application application_1467539555386_0001 failed 2 times due to AM Container for appattempt_1467539555386_0001_000002 exited with exitCode: 1 
For more detailed output, check application tracking page:http://quickstart.cloudera:8088/proxy/application_1467539555386_0001/Then, click on links to logs of each attempt. 
Diagnostics: Exception from container-launch. 
Container id: container_1467539555386_0001_02_000001 
Exit code: 1 
Stack trace: ExitCodeException exitCode=1: 
at org.apache.hadoop.util.Shell.runCommand(Shell.java:543) 
at org.apache.hadoop.util.Shell.run(Shell.java:460) 
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:720) 
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:210) 
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302) 
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
Container exited with a non-zero exit code 1 
Failing this attempt. Failing the application. 
16/07/03 02:54:29 INFO mapreduce.Job: Counters: 0 
[cloudera@quickstart wordcount]$
 
 
Os adjunto un pantallazo del error generado en la traza:
 
Muchas gracias,
Un saludo,
 

 
 
Imagen de Admin Formación Hadoop
Re: Error ResourceManager - "Ejercicio Ejecutando un job MapReduce"
de Admin Formación Hadoop - domingo, 10 de julio de 2016, 11:04
 

El error del ResourceManager era claro, lo tenías caído.

 

Compruebe que tiene los servicios de YARN levantados:

sudo service hadoop-yarn-resourcemanager status

sudo service hadoop-yarn-nodemanager status Compruebe que tiene los servicios de HDFS levantados:sudo service hadoop-hdfs-namenode statussudo service hadoop-hdfs-datanode status.

 

Coméntenos el estado de los servicios y seguimos ayudándole en esa línea.

 

Si esto es correcto, otra posible causa son las librerías de Hadoop

 

 

 

 

Imagen de Fernando Agudo
Re: Error ResourceManager - "Ejercicio Ejecutando un job MapReduce"
de Fernando Agudo - domingo, 10 de julio de 2016, 11:08
 

En el vídeo tutorial "Configuración Máquina Virtual" se muestra cómo poder comprobar el estado de los servicios desde la línea de comandos y desde el Cloudera Manager.

A continuación os indico el enlace del vídeo:

Un saludo,

Imagen de Francisco Lopez Martin
Re: Error ResourceManager - "Ejercicio Ejecutando un job MapReduce"
de Francisco Lopez Martin - sábado, 22 de octubre de 2016, 10:44
 

Hola, donde puedo encontrar un sitio donde me digan como crear el archivo jar del wordcount,  tengo problemas con el ejercicio y me temo que es por que lo estoy montando mal con el eclipse, muchas gracias. 

Imagen de Admin Formación Hadoop
Re: Error ResourceManager - "Ejercicio Ejecutando un job MapReduce"
de Admin Formación Hadoop - domingo, 23 de octubre de 2016, 11:13
 

Hola Francisco, 

En el vídeo de "Ejecución de un MapReduce" se muestra la forma sencilla de exportar la aplicación en un jar a través del Eclipse.

¿Qué tipo de error estás teniendo?