我已成功地将输入文件“input.txt”和“users.txt”添加到hdfs。我已经成功地分别测试了hadoop和mahout作业。但是,当我使用以下命令行运行recommenderjob时:
bin/hadoop jar/applications/mahout-distribution-0.9/mahout-core-0.9-job.jar org.apache.mahout.cf.taste.hadoop.item.recommenderjob-dmapred.input.dir=/user/valtera45/input/input.txt-dmapred.output.dir=/user/valtera45/output--usersfile/user/valtera45/input2/users.txt--similarityclassname相似度
这是我得到的结果:
线程“main”java.io.ioexception中出现异常:无法打开org.apache.hadoop.hdfs.dfsclient$dfsinputstream.openinfo(dfsclient)上的filename/user/valtera45/temp/preparepreferencematrix/numusers.bin。java:1444)在org.apache.hadoop.hdfs.dfsclient$dfsinputstream.(dfsclient。java:1435)在org.apache.hadoop.hdfs.dfsclient.open(dfsclient。java:347)在org.apache.hadoop.hdfs.distributedfilesystem.open(分布式文件系统)。java:178)在org.apache.hadoop.fs.filesystem.open(filesystem。java:351)在org.apache.mahout.common.hadooputil.readint(hadooputil。java:339)在org.apache.mahout.cf.taste.hadoop.item.recommenderjob.run(recommenderjob。java:172)在org.apache.hadoop.util.toolrunner.run(toolrunner。java:65)在org.apache.mahout.cf.taste.hadoop.item.recommenderjob.main(recommenderjob。java:322)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606)在org.apache.hadoop.util.runjar.main(runjar。java:156)
每当我运行一个独立的mahout作业时,就会在mahout目录中创建一个临时文件夹。推荐人的工作似乎无法越过这一步。有什么想法吗?提前谢谢。我知道我使用的输入文件格式良好,因为它们已经成功地为其他人工作。
1条答案
按热度按时间fjnneemd1#
我正在使用这个,我的程序在ec2示例上用mahout和hadoop成功运行,但是我不能得到相关的结果。如果有人知道这件事,请回复。