Mahout群集中的PriviledgedActionException

时间:2014-06-26 13:57:26

标签: hadoop mahout

我一直在尝试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异常。

有些人可以帮助解决问题。

谢谢:)

1 个答案:

答案 0 :(得分:0)

Mahout默认运行在分布式文件系统而不是本地文件系统上。因此,当您运行mahout命令时,hadoop将尝试在HDFS上而不是在本地上查找文件。因此,你应该做的如下:

  1. cd到mahout / bin目录
  2. vi mahout
  3. 找到第"#MAHOUT_LOCAL = true;"并将其更改为" MAHOUT_LOCAL = true;"
  4. source mahout
  5. 然后它现在应该在本地工作。