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)

Reply via email to