Clase no encontrada en el trabajo de Hadoop
Tengo un trabajo de reducción de mapa que obtiene su entrada de DocumentDB. He agregado a los archivos jar en el directorio lib en mi código fuente y también utilizo los -libjars cuando ejecuto el trabajo. pero todavía recibo el error de clase no encontrada para una clase en el archivo jar. Aquí hay una parte de mi programa de manejo
public class MapReduceDriver extends Configured implements Tool {
public static void main(String[] args) throws Exception {
int res = ToolRunner.run(new Configuration(), new MapReduceDriver(), args);
System.exit(res);
}
@Override
public int run(String[] args) throws Exception {
Configuration conf = this.getConf();
....
Cuando uso los -libjars, una vez puse los archivos jar necesarios en el controlador local y una vez en los hdfs, pero ninguno funcionó. ¿Cómo puedo asegurarme de que funciona -libjars?
PD. Estoy usando el clúster HDInsight de 2 nodos (ejecutándose en Microsoft Azure).
Aquí está el mensaje de error que recibo
Error: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.microsoft.azure.documentdb.hadoop.DocumentDBInputFormat not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1961)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getInputFormatClass(JobContextImpl.java:174)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:726)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)
Caused by: java.lang.ClassNotFoundException: Class com.microsoft.azure.documentdb.hadoop.DocumentDBInputFormat not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1867)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:1959)
... 8 more