In the very latest trunk, it is not even possible to run
"$MAHOUT_HOME/bin/mahout
org.apache.mahout.clustering.syntheticcontrol.kmeans.Job". Something
in a recent commit seems to have disabled this command form. I did a
clean build before running it too. Does anybody have an explanation?
On the error itself, there is no way I can imagine to cause 0 clusters
to come out of the Canopy step, unless there is a file-system
permission problem preventing it from writing them. With the
no-argument job, all the arguments are predefined and Canopy will
produce 6 clusters every time: from Eclipse, from CLI and from CLI on
Hadoop.
I ran it Saturday in response to a similar posting. Today I can only
run it from Eclipse but it worked perfectly. Here's the current CLI
output:
jeff-eastmans-macbook-pro:mahout jeff$ $MAHOUT_HOME/bin/mahout
org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
no HADOOP_HOME set, running locally
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.classifier.sgd.RunLogistic
java.lang.ClassNotFoundException:
org.apache.mahout.classifier.sgd.RunLogistic
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.text.WikipediaToSequenceFile
java.lang.ClassNotFoundException:
org.apache.mahout.text.WikipediaToSequenceFile
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.classifier.bayes.WikipediaDatasetCreatorDriver
java.lang.ClassNotFoundException:
org.apache.mahout.classifier.bayes.WikipediaDatasetCreatorDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups
java.lang.ClassNotFoundException:
org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.classifier.bayes.WikipediaXmlSplitter
java.lang.ClassNotFoundException:
org.apache.mahout.classifier.bayes.WikipediaXmlSplitter
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles
java.lang.ClassNotFoundException:
org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.classifier.sgd.PrintResourceOrFile
java.lang.ClassNotFoundException:
org.apache.mahout.classifier.sgd.PrintResourceOrFile
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.classifier.sgd.TrainLogistic
java.lang.ClassNotFoundException:
org.apache.mahout.classifier.sgd.TrainLogistic
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:108)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: Unable to add class:
org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
java.lang.ClassNotFoundException:
org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at
org.apache.mahout.driver.MahoutDriver.addClass(MahoutDriver.java:198)
at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:115)
Oct 4, 2010 3:33:54 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: No
org.apache.mahout.clustering.syntheticcontrol.kmeans.Job.props found
on classpath, will use command-line arguments only
Unknown program
'org.apache.mahout.clustering.syntheticcontrol.kmeans.Job' chosen.
Valid program names are:
arff.vector: : Generate Vectors from an ARFF file or directory
canopy: : Canopy clustering
cleansvd: : Cleanup and verification of SVD output
clusterdump: : Dump cluster output to text
dirichlet: : Dirichlet Clustering
fkmeans: : Fuzzy K-means clustering
fpg: : Frequent Pattern Growth
itemsimilarity: : Compute the item-item-similarities for item-based
collaborative filtering
kmeans: : K-means clustering
lda: : Latent Dirchlet Allocation
ldatopics: : LDA Print Topics
lucene.vector: : Generate Vectors from a Lucene index
matrixmult: : Take the produc of two matrices
meanshift: : Mean Shift clustering
rowid: : Map SequenceFile<Text,VectorWritable> to
{SequenceFile<IntWritable,VectorWritable>,
SequenceFile<IntWritable,Text>}
rowsimilarity: : Compute the pairwise similarities of the rows of a
matrix
seqdirectory: : Generate sequence files (of Text) from a directory
seqdumper: : Generic Sequence File dumper
svd: : Lanczos Singular Value Decomposition
testclassifier: : Test Bayes Classifier
trainclassifier: : Train Bayes Classifier
transpose: : Take the transpose of a matrix
vectordump: : Dump vectors from a sequence file to text
On 10/4/10 12:25 AM, pragnesh (JIRA) wrote:
[
https://issues.apache.org/jira/browse/MAHOUT-504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917502#action_12917502
]
pragnesh commented on MAHOUT-504:
---------------------------------
i am also getting same exption with trunk code
10/10/04 12:42:34 INFO mapred.JobClient: Running job:
job_201010041038_0019
10/10/04 12:42:35 INFO mapred.JobClient: map 0% reduce 0%
10/10/04 12:42:45 INFO mapred.JobClient: Task Id :
attempt_201010041038_0019_m_000000_0, Status : FAILED
java.lang.IllegalStateException: No clusters found. Check your -c path.
at
org.apache.mahout.clustering.kmeans.KMeansMapper.setup(KMeansMapper.java:61)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
at org.apache.hadoop.mapred.Child.main(Child.java:170)
Kmeans clustering error
-----------------------
Key: MAHOUT-504
URL: https://issues.apache.org/jira/browse/MAHOUT-504
Project: Mahout
Issue Type: Bug
Reporter: Zhen Guo
Assignee: Robin Anil
Fix For: 0.4
I tried the Kmeans algorithm on the Synthetic Control data. The
following error appears. I tried the Canopy algorithm, it is fine.
This error is from Mapper. I am using Trunk.
10/09/20 19:40:06 INFO mapred.JobClient: Task Id :
attempt_201008261432_1324_m_000000_0, Status : FAILED
java.lang.IllegalStateException: Cluster is empty!
at
org.apache.mahout.clustering.kmeans.KMeansClusterMapper.setup(KMeansClusterMapper.java:57)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:583)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
at org.apache.hadoop.mapred.Child.main(Child.java:170)