根据fansty的博客:点击打开链接,做了做mahout的cf程序。
首先是在eclipse里找不到cli2这样的类,后来发现是在mahout的lib中,于是导入eclipse中,语法没错误了。
接着run on hadoop,发现所有的job都是failed,然后找不到com.google.primite.longs。
注意,现在是run on hadoop,而程序中用到一些mahout需要的jar,而这些jar包必须在你run的hadoop机器上找到才行,也就是一个hadoop中的第三方jar包的问题。
在董的博客上看到一个解决方法:点击打开链接
但是在/conf/hadoop_env.sh,/bin/hadoop-config.sh,libexec/hadoop-config.sh中设置了HADOOP_CLASSPATH都不成功。
最后只有按fansty的方法,把mahout中所有的jar包全考到hadoop/lib中,成功!!
是不是HADOOP_CLASSPATH在hadoop1.1.2中无法识别呢。我是伪分布式,所以还可以直接考,但是集群就只有其他的方法才合适了。
ps:把jar包考入之后一定要重新启动hadoop才能识别到新的jar包