2012-09-20 18 views
5

Aquí está el error que recibo al intentar compilar este archivo WordCount.java.Cloudera Hadoop Class archivo para org.apache.hadoop.classification.InterfaceAudience no encontrado

$javac -classpath /usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar:/usr/lib/hadoop/client/hadoop-mapreduce-client-core-2.0.0-cdh4.0.1.jar -d ~/wordcount /usr/lib/hadoop/wordcount_classes/WordCount.java 
/usr/lib/hadoop/hadoop-common-2.0.0-cdh4.0.1.jar(org/apache/hadoop/fs/Path.class): 

warning: Cannot find annotation method 'value()' in type 'LimitedPrivate': class file for org.apache.hadoop.classification.InterfaceAudience not found 
1 warning 
+0

@harshJ ¿Algún consejo? – user1663321

Respuesta

12

Añadir hadoop-annotations-2.0.0-cdh4.0.1.jar a la ruta de clase

+0

¿cómo se agrega exactamente este jar al classpath? ¿Necesito especificarlo en javac -cp ....? – gaussd

+1

De la misma manera que los otros se agregan (ver pregunta): 'javac -classpath hadoop-annotations-2.0.0-cdh4.0.1.jar: [other_jars]' –

4

Pasos cómo me fijo este problema:

  1. he creado un directorio llamado recuento de palabras (/home/cloudera/wordcount).
  2. Agregado WordCount.java a /home/cloudera/wordcount directorio.
  3. Dentro del directorio que corrió el siguiente comando:

    javac \ 
    -cp /usr/lib/hadoop/\*:/usr/lib/hadoop/client-0.20/\*:/usr/lib/hadoop/lib/\* \ 
    WordCount.java 
    -d /home/cloudera/wordcount/wordcount_classes 
    
2

Para la versión 2.6.0 Hadoop es necesario añadir los siguientes frascos:

javac -classpath $ HADOOP_HOME/share/hadoop /common/hadoop-common-2.6.0.jar:$HADOOP_HOME/share/hadoop/common/lib/hadoop-annotations-2.6.0.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core -2.6.0.jar /ruta_a_su_java_file/WordCount.java

0

Un rápido (pero no es recomendable para la producción) en hadoop-2.6.x es

Unix/MacOS

$ javac -classpath .:$(mapred classpath):$CLASSPATH -d ~/wordcount /usr/lib/hadoop/wordcount_classes/WordCount.java 
0

comentario a continuación la dependencia del pom si lo tiene

<dependency> 
     <groupId>org.apache.hive</groupId> 
     <artifactId>hive-exec</artifactId> 
     <version>1.2.1</version> 
    </dependency> 

Y luego habilitar hadoop-anotaciones

Cuestiones relacionadas