我正在尝试在单个系统(伪分布式模式)上运行在 Mahout 中构建决策森林以进行分类的 Breiman 示例。我指的是本教程 我对教程的前两个步骤没有问题,但第三步(即“为数据集生成文件描述符”)抛出异常,如下所示
Exception in thread "main" java.lang.ClassNotFoundException: org.apache.mahout.classifier.df.tools.Describe
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
我运行的命令是
hadoop_admin@ubuntu:~/hadoop$ bin/hadoop jar /home/viggi/workspace/mahout-distribution-0.5/mahout-core-0.5-job.jar org.apache.mahout.classifier.df.tools.Describe -p data10/glass.data -f data10/glass.info -d I 9 N L
我在堆栈溢出中发现了一个类似异常的帖子。java.lang.NoClassDefFoundError即使它与 mahout 或 Breiman 示例无关,我还是决定采用推荐的解决方案,即下载HttpClient jar-library
并将其放入$MAHOUT_HOME/lib
. 它没有用。因此,如果有人可以解释第三步的实际作用以及如何摆脱这些异常,那将非常有帮助。