Java.lang.NoClassDefFoundError: exécution d'un exemple Mahout sur un cluster hadoop


Je suis le tutoriel Mahout In Action pour kmeans clustring, j'utilise le même code trouvé ici: avec le même pom.xml aussi. Sur ma machine locale utilisant eclipse, tout fonctionne bien, donc je construis le fichier jar (clustering-0.0.1-SNAPSHOT.jar) et l'amener au cluster (Hortonworks 2.3) en essayant de l'exécuter en utilisant: hadoop jar clustering-0.0.1-SNAPSHOT.jar com.digimarket.clustering.App (j'ai nommé mon projet différemment) J'obtiens cette erreur:

Java.lang.NoClassDefFoundError: org/apache/maitre/common/distance/DistanceMeasure

Je sais que c'est un problème de dépendance, j'ai trouvé des questions posées par des utilisateurs qui avaient déjà ce problème mais ne comprenaient pas comment ils l'avaient résolu. ici et ici

Voici le contenu du répertoire mahout dans mon cluster:

ls /usr/hdp/2.3.4.0-3485/mahout/
bin
conf
doc
lib
mahout-examples-0.9.0.2.3.4.0-3485.jar
mahout-examples-0.9.0.2.3.4.0-3485-job.jar
mahout-integration-0.9.0.2.3.4.0-3485.jar
mahout-math-0.9.0.2.3.4.0-3485.jar
mahout-mrlegacy-0.9.0.2.3.4.0-3485.jar
mahout-mrlegacy-0.9.0.2.3.4.0-3485-job.jar

Merci.

Author: Community, 2016-03-03

1 answers

Il semble que vous ayez une dépendance qui n'est pas disponible pour votre code sur votre cluster.

Basé sur le pom.xml de ce projet que vous devriez utiliser:

<properties>
  <mahout.version>0.5</mahout.version>
  <mahout.groupid>org.apache.mahout</mahout.groupid>
</properties>
...
<dependencies>
  <dependency>
    <groupId>${mahout.groupid}</groupId>
    <artifactId>mahout-core</artifactId>
    <version>${mahout.version}</version>
  </dependency>
  ...
</dependencies>

L'organisation de la classe.Apache.mahout.commun.distance.DistanceMeasure est inclus dans le mahout-core-0.*.pot j'ai mahout-core-0.7.jar et la classe est présente là-dedans.

entrez la description de l'image ici

Vous pouvez télécharger ce jar et l'inclure avec l'indicateur-libjars ou vous pouvez le mettre sur le chemin de classe hadoop.

 0
Author: Jeremy, 2016-03-28 20:34:31