Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
0.7
-
None
-
None
Description
We have seen an issue when running mahout on the CLI where if you do not include required arguments, the specified class still gets executed to completion, but Mahout prints a usage statement too, which is confusing. If a required argument is missed, print usage and exit.
Here is the log:
[server~]$ mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job -Dpool.name=analytics-pool
MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
Running on hadoop, using /usr/lib/hadoop/bin/hadoop and HADOOP_CONF_DIR=/etc/hadoop/conf
MAHOUT-JOB: /usr/lib/mahout/mahout-examples-0.7-cdh4.1.1-job.jar
12/11/29 00:01:37 WARN driver.MahoutDriver: No org.apache.mahout.clustering.syntheticcontrol.kmeans.Job.props found on classpath, will use command-line arguments only
12/11/29 00:01:37 INFO kmeans.Job: Running with only user-supplied arguments
12/11/29 00:01:38 ERROR common.AbstractJob: Missing required option --t1
usage: <command> [Generic Options] [Job-Specific Options]
Generic Options:
-archives <paths> comma separated archives to be unarchived
on the compute machines.
-conf <configuration file> specify an application configuration file
-D <property=value> use value for given property
-files <paths> comma separated files to be copied to the
map reduce cluster
-fs <local|namenode:port> specify a namenode
-jt <local|jobtracker:port> specify a job tracker
-libjars <paths> comma separated jar files to include in
the classpath.
-tokenCacheFile <tokensFile> name of the file with the tokens
Missing required option --t1
Usage:
[--input <input> --output <output> --distanceMeasure <distanceMeasure>
--numClusters <k> --t1 <t1> --t2 <t2> --convergenceDelta <convergenceDelta>
--maxIter <maxIter> --overwrite --help --tempDir <tempDir> --startPhase
<startPhase> --endPhase <endPhase>]
--t1 (-t1) t1 T1 threshold value
12/11/29 00:01:38 INFO driver.MahoutDriver: Program took 192 ms (Minutes: 0.0032)