首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

hadoop windows上例子无法运行

2013-01-07 
hadoop windows下例子无法运行我在windows下用Cygwin运行hadoop0-20.203.0 示例无法运行。错误提示lenovo@l

hadoop windows下例子无法运行
我在windows下用Cygwin运行hadoop0-20.203.0 示例无法运行。错误提示

lenovo@lenovo-1a5b3f83 /cygdrive/d/hadoop
$ bin/hadoop jar hadoop-examples-0.20.203.0.jar wordcount inputdir output>abc
java.io.IOException: Failed to set permissions of path: file:/tmp/hadoop-lenovo/                                                                             mapred/staging/lenovo-1126433021/.staging to 0700
        at org.apache.hadoop.fs.RawLocalFileSystem.checkReturnValue(RawLocalFile                                                                             System.java:525)
        at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSys                                                                             tem.java:499)
        at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.jav                                                                             a:318)
        at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:18                                                                             3)
        at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmi                                                                             ssionFiles.java:116)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:797)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:791)


        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:396)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInforma                                                                             tion.java:1059)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:7                                                                             91)
        at org.apache.hadoop.mapreduce.Job.submit(Job.java:465)
        at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:494)
        at org.apache.hadoop.examples.WordCount.main(WordCount.java:67)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.                                                                             java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces                                                                             sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(Progra                                                                             mDriver.java:68)
        at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:139)
        at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:64)


        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.                                                                             java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces                                                                             sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

[解决办法]
我看了下源代码的实现,setPermission实际上就是调用了File的setWritable方法,在这之前,它会调用SecurityManager.checkWrite来检查权限。因此可以肯定是权限的问题,你在cygwin中执行ls -l /tmp看看权限

热点排行