我正在尝试在Windows 8计算机上本地运行Mahout(不使用Hadoop)。我意识到这不是最佳设置,但这就是我必须使用的。
当我尝试运行bin/mahout
时,我收到以下错误:
$ bin/mahout
MAHOUT_LOCAL is set, so we don't add HADOOP_CONF_DIR to classpath.
no HADOOP_HOME set, running locally
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/dri
ver/MahoutDriver
Caused by: java.lang.ClassNotFoundException: org.apache.mahout.driver.MahoutDriv
er
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:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.mahout.driver.MahoutDriver. Program w
ill exit.
我已尝试下载源代码并使用maven进行安装并使用预编译的分发文件,这两个文件都在此处提供:http://www.poolsaboveground.com/apache/mahout/
我也试过了0.7和0.6 Mahout版本并得到了同样的问题。不确定它是否与我的java版本有关,但我正在使用:1.7.0_09。我还设置了环境变量MAHOUT_LOCAL = true
和MAHOUT_HEAPSIZE=128
答案 0 :(得分:4)
我从没有成功地从二进制包运行mahout,它似乎并不是一个独立的包。最简单的方法是从源代码编译,就安装Maven而言,这是非常简单的:
mkdir mahout
cd mahout/
svn co http://svn.apache.org/repos/asf/mahout/trunk
cd trunk/
mvn compile
mvn install
export MAHOUT_LOCAL=TRUE
export MAHOUT_HEAPSIZE=1000
然后您可以使用这个非常详细的示例来测试您的安装是否正常:http://www.cs.ucy.ac.cy/courses/EPL660/labs/Stalo/Lab8.pdf
答案 1 :(得分:1)
我现在才发现这个问题,对不起,我很抱歉。
我认为您可以通过Maven解决您的问题,正如here所解释的那样,使用以下命令安装所需的模块:
mvn -DskipTests -X clean install
答案 2 :(得分:0)
您是否尝试过设置CLASSPATH?
export CLASSPATH=${CLASSPATH}:your_MAHOUT_HOME/mahout-distribution-0.7/lib/hadoop/hadoop-core-0.20.204.0.jar
答案 3 :(得分:-1)
问题出在 mahout shell脚本(bin
下),错误地将lib/hadoop/*
添加到类路径,它应扫描将此文件夹中的Jar文件单独添加到类路径