我一直在尝试Mahout群集示例。我编写了一个示例程序,将文本文档转换为序列文件和序列文件到java中的向量。我在运行程序时遇到异常,并且需要创建所有目录并在其中复制正确的数据。
块引用 14/06/26 08:45:35 ERROR security.UserGroupInformation:PriviledgedActionException as:shshaikh cause:java.io.FileNotFoundException:file file:/ home / shshaikh / ClusterWorkDir / sequence / vector / data not not存在。 java.io.FileNotFoundException:文件文件:/ home / shshaikh / ClusterWorkDir / sequence / vector / data不存在。 在org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:402) 在org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:255) at org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat.listStatus(SequenceFileInputFormat.java:63) at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.getSplits(FileInputFormat.java:252) 在org.apache.hadoop.mapred.JobClient.writeNewSplits(JobClient.java:1054) 在org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1071) 在org.apache.hadoop.mapred.JobClient.access $ 700(JobClient.java:179) 在org.apache.hadoop.mapred.JobClient $ 2.run(JobClient.java:983) 在org.apache.hadoop.mapred.JobClient $ 2.run(JobClient.java:936) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.java:416) 在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) 在org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936) 在org.apache.hadoop.mapreduce.Job.submit(Job.java:550) 在org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580) 在org.apache.mahout.vectorizer.DocumentProcessor.tokenizeDocuments(DocumentProcessor.java:93) 在org.apache.mahout.vectorizer.SparseVectorsFromSequenceFiles.run(SparseVectorsFromSequenceFiles.java:257) 在org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在com.hello.mahout.MyZFuzzyKmeans.vectorize(MyZFuzzyKmeans.java:100) 在com.hello.mahout.MyZFuzzyKmeans.main(MyZFuzzyKmeans.java:55) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:616) 在org.codehaus.mojo.exec.ExecJavaMojo $ 1.run(ExecJavaMojo.java:293) 在java.lang.Thread.run(Thread.java:679)
块引用
我创建了矢量目录,程序删除了目录,但它失败了,FileNotFound异常。
有些人可以帮助解决问题。
谢谢:)
答案 0 :(得分:0)
Mahout默认运行在分布式文件系统而不是本地文件系统上。因此,当您运行mahout命令时,hadoop将尝试在HDFS上而不是在本地上查找文件。因此,你应该做的如下:
然后它现在应该在本地工作。