当我运行 Mahout 的 k-Means 时,总是显示这个提示
Posted
技术标签:
【中文标题】当我运行 Mahout 的 k-Means 时,总是显示这个提示【英文标题】:When I run k-Means by Mahout,always show this tip 【发布时间】:2019-08-11 21:27:50 【问题描述】:代码:
hadoop jar /home/xnz/local/opt/apache-mahout-distribution-0.13.0/mahout-integration-0.13.0.jar \
org.apache.mahout.clustering.conversion.InputDriver \
-i /user/root/ -o /user/root/input/seqfile
错误提示:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/cli2/OptionException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:278)
at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.lang.ClassNotFoundException:
org.apache.commons.cli2.OptionException
at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:430)
at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
...4 more
``
【问题讨论】:
为什么不用mahout命令bin/mahout kmeans <args>
?
【参考方案1】:
从异常中可以清楚地看出。您的 Classpath 中缺少 org.apache.commons.cli2
Jar。
【讨论】:
但当前版本是 CLI 1.4。来自commons.apache.org/proper/commons-cli。谢谢。以上是关于当我运行 Mahout 的 k-Means 时,总是显示这个提示的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mahout K-means 聚类中维护数据条目 ID