【问题标题】:PriviledgedActionException in Mahout ClusteringMahout 集群中的 PrivilegeddActionException
【发布时间】:2014-06-26 13:57:25
【问题描述】:

我一直在尝试 Mahout 集群示例。我编写了一个示例程序,用于将文本文档转换为序列文件,并将序列文件转换为 java 中的向量。在运行程序时出现以下异常,其中创建了所需的所有目录并在其中复制了正确的数据。

块引用 14/06/26 08:45:35 错误 security.UserGroupInformation:PriviledgedActionException as:shshaikh 原因:java.io.FileNotFoundException:文件文件:/home/shshaikh/ClusterWorkDir/sequence/vector/data 没有存在。 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) 在 org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat.listStatus(SequenceFileInputFormat.java:63) 在 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) 在 java.security.AccessController.doPrivileged(本机方法) 在 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) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 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 。

请帮助解决问题。

谢谢:)

【问题讨论】:

    标签: hadoop mahout


    【解决方案1】:

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

    1. cd 到 mahout/bin 目录
    2. vi mahout
    3. 找到“#MAHOUT_LOCAL=true;”行并将其更改为“MAHOUT_LOCAL=true;”
    4. 源驯兽师

    那么它现在应该可以在本地工作了。

    【讨论】:

      猜你喜欢
      • 2012-06-15
      • 1970-01-01
      • 2012-12-29
      • 2013-04-14
      • 2015-02-13
      • 1970-01-01
      • 2011-08-06
      • 2012-11-01
      • 2012-11-06
      相关资源
      最近更新 更多