【问题标题】:Running Hadoop in Windows 7 setting via Cygwin - PriviledgedActionException as:PC cause:java.io.IOException: Failed to set permissions of path:通过 Cygwin 在 Windows 7 设置中运行 Hadoop - PriviledgedActionException as:PC 原因:java.io.IOException:无法设置路径权限:
【发布时间】:2013-06-30 22:48:00
【问题描述】:

我使用 Hadoop 发行版 1.1.2。当我尝试运行示例 wordcount 例程时,出现以下错误。

输入指令:

'D:/Files/hadoop-1.1.2/hadoop-1.1.2/bin/hadoop' jar 'D:/Files/hadoop-1.1.2/hadoop-1.1.2/hadoop-examples-1.1. 2.jar'字数输入输出

结果:

13/07/03 11:02:42 WARN util.NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类 2003 年 7 月 13 日 11:02:42 错误 security.UserGroupInformation:PriviledgedActionException as:PC 原因:java.io.IOException:无法设置路径的权限:\tmp\hadoop-PC\mapred\staging\PC119237705.staging 到 0700 java.io.IOException:无法设置路径的权限:\tmp\hadoop-PC\mapred\staging\PC119237705.staging 为 0700 在 org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689) 在 org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:662) 在 org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509) 在 org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344) 在 org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189) 在 org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116) 在 org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:918) 在 org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:912) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:415) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149) 在 org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:912) 在 org.apache.hadoop.mapreduce.Job.submit(Job.java:500) 在 org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:530) 在 org.apache.hadoop.examples.WordCount.main(WordCount.java:67) 在 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:606) 在 org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) 在 org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139) 在 org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64) 在 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:606) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:156)

我无法找到导致此错误的具体原因。请帮忙。

【问题讨论】:

    标签: hadoop cygwin


    【解决方案1】:

    看起来你点击了this。你可能会发现这个patch 很有帮助。但是,在此之前,您可能想尝试将目录权限更改为 755 并重新运行作业。

    【讨论】:

    • 我试过使用这个补丁 - 它没有用。 Cygwin 环境对我来说相当新。如何更改目录权限?
    • sudo chmod -R 755 /path/to/directory..BTW,为什么要在 Win 上执行此操作?这总是一种痛苦。
    • 说实话,我虽然不那么痛苦。我想我最终会切换到 Linux 的一些变体。
    • 顺便问一下,哪个Linux发行版最适合处理Hadoop?
    • 没有限制。我在笔记本电脑上使用 Ubuntu,它运行良好。
    猜你喜欢
    • 2013-02-17
    • 1970-01-01
    • 2012-12-04
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 2012-11-12
    相关资源
    最近更新 更多