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

hadoop windows下例子无法运行解决办法

2012-03-17 
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看看权限

热点排行