Lorsque vous utilisez Java Map, réduisez l’application dans Eclipse et faites face à l’exception ci-dessous. J'ai également inclus le fichier commons-logging-1.2.jar dans mon chemin de génération, mais le fichier ci-dessous arrive toujours.
Je suis nouveau sur hadoop. S'il vous plaît aidez-moi.
Exception in thread "main" Java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
at org.Apache.hadoop.conf.Configuration$DeprecationDelta.<init>(Configuration.Java:314)
at org.Apache.hadoop.conf.Configuration$DeprecationDelta.<init>(Configuration.Java:327)
at org.Apache.hadoop.conf.Configuration.<clinit>(Configuration.Java:409)
at AverageNosClass.main(AverageNosClass.Java:71)
Caused by: Java.lang.ClassNotFoundException: com.google.common.base.Preconditions
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:366)
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:425)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:358)
... 4 more
Assurez-vous que vous avez ajouté le bon Jar à votre chemin de construction.
L'ajout de guava-11.0.2.jar au chemin de génération a résolu le problème. Ce fichier se trouve dans le dossier/share/hadoop/tools/lib. J'ai installé hadoop 2.4.0.
cela est causé par Guava-x.y.z.jar car il manque, assurez-vous de l'ajouter.
Mon problème a été résolu en ajoutant le pot suivant
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>13.0-rc1</version>
</dependency>
Utilisez Google Collection JAR à partir de
cela pourrait résoudre votre problème.
Est-ce que votre répertoire lib Hadoop contient tous les fichiers jar que vous avez utilisés dans votre projet Eclipse?
Sinon, placez-les dans le répertoire lib Hadoop et redémarrez hadoop.
J'ai résolu ce problème en ajoutant la bibliothèque guava-14.0.1.
J'ai aussi eu cette erreur en essayant d'utiliser MRUnit et la dépendance maven n'a pas été trouvée, j'ai donc essayé de l'ajouter manuellement. Est-ce votre cas?
Le problème est que si vous ajoutez le fichier jar manuellement, il continuera à ne pas demander le reste des fichiers jar MRUnit (ceux du pom de MRUnit) jusqu'à ce que vous les ajoutiez tous avec la même version que dans le pom.
La cause de mrunit non trouvée était que je n'utilisais pas le classificateur nécessaire dans la déclaration de dépendance
Solution est ajout du classificateurhadoop1
ou hadoop2