Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 在mahout中运行树冠示例时出错_Maven_Cluster Analysis_Mahout - Fatal编程技术网

Maven 在mahout中运行树冠示例时出错

Maven 在mahout中运行树冠示例时出错,maven,cluster-analysis,mahout,Maven,Cluster Analysis,Mahout,我想在mahout中运行canopy示例,但遇到错误: 警告:$HADOOP\u HOME已弃用。 在hadoop上运行,使用/usr/local/hadoop/bin/hadoop和hadoop_CONF_DIR= MAHOUT-JOB:/usr/local/MAHOUT-distribution-0.7/examples/target/MAHOUT-examples-0.7->JOB.jar 警告:$HADOOP\u HOME已弃用 线程“main”java.lang.NoClassDefF

我想在mahout中运行canopy示例,但遇到错误:

警告:$HADOOP\u HOME已弃用。 在hadoop上运行,使用/usr/local/hadoop/bin/hadoop和hadoop_CONF_DIR= MAHOUT-JOB:/usr/local/MAHOUT-distribution-0.7/examples/target/MAHOUT-examples-0.7->JOB.jar 警告:$HADOOP\u HOME已弃用

线程“main”java.lang.NoClassDefFoundError中出现异常:com/google/common/io/Closeables 位于org.apache.mahout.driver.MahoutDriver.loadProperties(MahoutDriver.java:214) 位于org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:98) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.apache.hadoop.util.RunJar.main(RunJar.java:160) 原因:java.lang.ClassNotFoundException:com.google.common.io.Closeables 位于java.net.URLClassLoader$1.run(URLClassLoader.java:202) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(URLClassLoader.java:190) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:306) 位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 位于java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 还有7个

在本例中,在“/usr/local/mahout-distribution-0.7/examples/target/dependency”中有guava-r09.jar,其中包括com/google/common/io/Closeables类,其依赖项在pom.xml中


我能做些什么来解决这个错误?

不幸的是,Hadoop和Mahout是一团糟。你可能在地狱里

我认为实际上不值得尝试很多。除非您有Google scale数据,否则非Mapreduce实现可能会快得多。也就是说:只要您的数据适合单个节点的内存,就选择单个节点解决方案

在我的实验中,一个有10-15个CPU的Mahout集群比一个好的单CPU实现慢5倍左右。因为所有这些“框架”以及Hadoop和Mahout面向磁盘的操作都要付出巨大的成本。因此,如果您的数据不是TB大小,请不要使用它

现在,我们来给出一个更准确的答案:

你在一个分布式的世界里。如果此.jar文件在您的计算机上可用,这是不够的。 由于Hadoop的设计,它实际上必须上传到参与计算的每个主机。
mahout
命令应该负责这一点(识别并上传所有必需的.jar文件),但有时它无法获得正确的类路径。不幸的是,这个过程很混乱,很难理解或调试

警告:$HADOOP\u HOME已弃用

认真对待这一警告。当前获得正确类路径的方法是什么