Hi,I was able to resolve this problem by adding the jar files to 
HADOOP_CLASSPATH. Here is a command sequence:
export 
HADOOP_CLASSPATH=~/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar:/apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
javac -d /apps/analytics/ -classpath 
.:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar:/apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
 SimpleKMeansClustering.java
jar -cf myanalytics.jar myanalytics/

hadoop jar /apps/analytics/myanalytics.jar myanalytics.SimpleKMeansClustering 
-libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar 
/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar:/apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
Thanks!

> From: [email protected]
> To: [email protected]
> Subject: More on Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/mahout/math/Vector
> Date: Thu, 19 Dec 2013 13:33:17 -0800
> 
> Hi Everyone,
> 
> I have added math jar file to my javac command. As per the documentation, " 
> Include the JAR in the “-libjars” command line option of the `hadoop jar …` 
> command. The jar will be placed in distributed cache and will be made 
> available to all of the job’s task attempts. " Ideally, this would make the 
> all mahout jars available in the distributed cache and available to all the 
> tasktrackers. I am not sure what other steps I need to do to resolve this 
> issue.
> 
> 
> javac -d /apps/analytics/ -classpath 
> .:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar:/apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
>   SimpleKMeansClustering.java
> -bash-4.1$ jar -cf myanalytics.jar  myanalytics/
> -bash-4.1$ hadoop jar /apps/analytics/myanalytics.jar 
> myanalytics.SimpleKMeansClustering -libjars 
> /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar 
> /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar:/apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
> Warning: $HADOOP_HOME is deprecated.
> 
> Exception in thread "main" java.lang.NoClassDefFoundError: 
> org/apache/mahout/math/Vector
>     at java.lang.Class.forName0(Native Method)
>     at java.lang.Class.forName(Class.java:264)
>     at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
> Caused by: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector
>     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:423)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>     ... 3 more
> 
> 
> jar -tf /apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar | grep 
> "Vector"
> Shows a bunch of classes including the following:
> org/apache/mahout/math/VectorBinaryAggregate$AggregateIterateUnionSequential.class
> org/apache/mahout/math/RandomAccessSparseVector$NonDefaultIterator.class
> org/apache/mahout/math/Vector.class
> org/apache/mahout/math/VectorBinaryAggregate$AggregateAllLoop.class
> org/apache/mahout/math/VectorView$DecoratorElement.class
> org/apache/mahout/math/VectorView.class
> 
>                                         
                                          

Reply via email to