运行简单映射的问题 - 在cygwin中减少hadoop示例 [英] problems running simple map-reduce hadoop examples in cygwin
问题描述
我只是想让Hadoop运行在我的笔记本电脑上运行64位Windows 7在独立模式。我已经安装Cygwin 1.7在默认文件夹(c:\cygwin)。我有最新的JDK在文件夹c:\jdk1.7.0_03,并设置JAVA_HOME环境变量。
当我尝试从cygwin运行以下命令提示:
$ bin / hadoop jar hadoop-examples - *。jar grep输入输出'dfs [az。] +'
这是我得到的错误:
12/03/17 19:08:43 WARN util.NativeCodeLoader:无法为您的平台加载native-hadoop库...在适用的地方使用builtin-java类
java.io .IOException:无法将路径的权限设置为:\tmp\hadoop-ehtzrhf\mapred\staging\ehtzrhf837602798\.staging至0700
at org.apache.hadoop.fs.FileUtil.checkReturnValue( FileUtil.java:682)
at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:655)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java: 484)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:319)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)
at org.apache.hadoop.mapred.JobClient $ 2.run(JobClient.java:848)
at org.apache.hadoop.mapred.JobClient $ 2.run(JobClient.java:842)
在java.security.AccessController.doPrivileged(本地方法)
在javax.security.auth.Subject.doAs Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java: 842)
at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:816)
at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1253)
at org.apache.hadoop.examples.Grep.run(Grep.java:69)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at org .apache.hadoop.examples.Grep.main(Grep.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native方法)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache .hadoop.util.ProgramDriver $ ProgramDescription.invoke(ProgramDriver.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方法)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.util .RunJar.main(RunJar.java:156)
我试过使用Hadoop 1.0.1和hadoop-0.20.205.0并得到相同的问题。我已更新我的.bashrc与
export TMP = / cygdrive / c / temp
export TEMP = / cygdrive / c / temp
我还添加了cygwin bin文件夹到路径:
export PATH =。:/ cygdrive / c / cygwin / bin:$ HADOOP_INSTALL / bin
pre>
我也觉得很奇怪,它显示的路径为\tmp ...而不是/ tmp /...
没有重新编译或运行Linux VM的任何想法?
解决方案/ p>
https://issues.apache.org/jira/browse/HADOOP-7682?focusedCommentId=13236645#comment-13236645
I am just trying to get Hadoop running on my laptop running 64-bit Windows 7 in standalone mode. I've installed Cygwin 1.7 in the default folder (c:\cygwin). I have the latest JDK in the folder c:\jdk1.7.0_03, and have set JAVA_HOME environment variable.
when I try to run the following command from a cygwin prompt:
$ bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
Here's the error I get:
12/03/17 19:08:43 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable java.io.IOException: Failed to set permissions of path: \tmp\hadoop-ehtzrhf\mapred\staging\ehtzrhf837602798\.staging to 0700 at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:682) at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:655) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:484) at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:319) at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189) at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:848) at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:842) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059) at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:842) at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:816) at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1253) at org.apache.hadoop.examples.Grep.run(Grep.java:69) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) at org.apache.hadoop.examples.Grep.main(Grep.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.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:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
I've tried with both Hadoop 1.0.1 and also hadoop-0.20.205.0 and get the same issue. I've updated my .bashrc with
export TMP=/cygdrive/c/temp export TEMP=/cygdrive/c/temp
I've also added cygwin bin folder to the path:
export PATH=.:/cygdrive/c/cygwin/bin:$HADOOP_INSTALL/bin
I also find it very odd it's showing the path as \tmp... instead of /tmp/...
Short of recompiling or running a Linux VM, any ideas?
解决方案fixed (major yak shaving)
https://issues.apache.org/jira/browse/HADOOP-7682?focusedCommentId=13236645#comment-13236645
这篇关于运行简单映射的问题 - 在cygwin中减少hadoop示例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!