我在64位windows-7上运行hadoop,得到以下错误:
Exception in thread "main" java.io.IOException: Cannot run program "chmod": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:149)
at org.apache.hadoop.util.Shell.run(Shell.java:134)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:286)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:354)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:337)
at org.apache.hadoop.fs.RawLocalFileSystem.execCommand(RawLocalFileSystem.java:481)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:473)
at org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:280)
at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:266)
at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:573)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:761)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:432)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:447)
at finanalytics.ClassifyMR$MapClass.main(ClassifyMR.java:172)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:188)
at java.lang.ProcessImpl.start(ProcessImpl.java:132)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1021)
... 14 more这里给出了这个问题的解决方案http://javaprotlib.sourceforge.net/packages/io/howtofixhadoop.html。我安装了最新版本的cygwin,但我不知道如何设置环境变量,因为我可以在cygwin安装目录中的任何地方找到cygwin-chmod,如该页面所述。我如何设置这个变量?运行该程序的其他配置是什么?
发布于 2014-04-25 17:37:24
将系统Path变量设置为chmod.exe的位置如果已使用windows installer安装了cygwin64,则chmod.exe应位于
INSTALLATION_DIR\cygwin64\bin对于我来说,我已经在C驱动器中安装了cygwin,所以我的系统路径变量的值是;C:\cygwin64\bin
发布于 2018-08-12 01:08:18
你能试着用一下吗?
修复依赖错误解决方案是在你的windows系统中安装cygwin或者安装它的一个子集,因为只需要chmod和它的dll。我们将在以下内容中为第二种选择提供解决方案:
第一步:获取"chmod“资源这里是不同Windows架构的归档文件:
Windows32位-包含chmod.exe,cygwin1.dll,cygiconv-2.dll,cygintl-8.dll和cyggcc_s-1.dll Windows64位-尚未提供第二步:在Windows中设置您的路径不要忘记设置您的路径变量为chmod在Windows中,否则chmod将找不到!
首先在桌面上右键单击我的电脑图标,然后单击属性。或者,您也可以只需按下Windows键,然后在打开的新窗口中单击高级选项卡单击系统变量中的环境变量,编辑或创建PATH变量,然后输入Key+Pause -chmod目录的路径名
https://stackoverflow.com/questions/17388849
复制相似问题