on a june 1 version of trunk I ran kmeans several times using different
k on a small data set from the command line. There are no errors on the
kmeans phase but when I try clusterdump or seqdumper on the final
cluster part-r-00000 file I get the following error (same for both
dumpers). The build was made with 'mvn clean install' locally with no
test errors.
Is this a build problem on my part? The dumper reads the correct
classname for the writeable, right? The clusterer found the class since
it used it to write the clusters to begin with. Is anyone else having
trouble with dumping cluster files?
Maclaurin:script pferrel$ mahout seqdumper -i
b2/kmeans-clusters/clusters-6-final/part-r-00000
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /usr/local/hadoop/bin/hadoop and
HADOOP_CONF_DIR=/usr/local/hadoop/conf
MAHOUT-JOB:
/usr/local/mahout/examples/target/mahout-examples-0.7-SNAPSHOT-job.jar
12/06/07 08:11:57 WARN driver.MahoutDriver: No seqdumper.props found on
classpath, will use command-line arguments only
12/06/07 08:11:57 INFO common.AbstractJob: Command line arguments:
{--endPhase=[2147483647],
--input=[b2/kmeans-clusters/clusters-6-final/part-r-00000],
--startPhase=[0], --tempDir=[temp]}
2012-06-07 08:11:57.608 java[6635:1903] Unable to load realm info from
SCDynamicStore
Exception in thread "main" java.lang.RuntimeException:
java.io.IOException: WritableName can't load class:
org.apache.mahout.clustering.kmeans.Cluster
at
org.apache.hadoop.io.SequenceFile$Reader.getValueClass(SequenceFile.java:1622)
at
org.apache.hadoop.io.SequenceFile$Reader.init(SequenceFile.java:1562)
at
org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1435)
at
org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1424)
at
org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1419)
at
org.apache.mahout.common.iterator.sequencefile.SequenceFileIterator.<init>(SequenceFileIterator.java:58)
at
org.apache.mahout.utils.SequenceFileDumper.run(SequenceFileDumper.java:97)
at
org.apache.mahout.utils.SequenceFileDumper.main(SequenceFileDumper.java:166)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68)
at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:195)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.io.IOException: WritableName can't load class:
org.apache.mahout.clustering.kmeans.Cluster
at org.apache.hadoop.io.WritableName.getClass(WritableName.java:73)
at
org.apache.hadoop.io.SequenceFile$Reader.getValueClass(SequenceFile.java:1620)
... 19 more
Caused by: java.lang.ClassNotFoundException:
org.apache.mahout.clustering.kmeans.Cluster
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)