在64位windows 7上运行hadoop

dgjrabp2  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(391)

我正在windows 7 64位上运行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,如该页所述。如何设置此变量以及运行程序的其他配置。

ev7lccsx

ev7lccsx1#

将系统路径变量设置为chmod.exe的位置如果使用windows installer安装了cygwin64,则chmod.exe应该位于

INSTALLATION_DIR\cygwin64\bin

对我来说,我已经在我的c驱动器中安装了cygwin,所以我的系统路径变量的值是 ;C:\cygwin64\bin

luaexgnf

luaexgnf2#

你能试一下用下面这个词吗
解决方案是在windows系统中安装cygwin,或者在只需要chmod及其dll的情况下安装cygwin的一个子集。我们将为第二个备选方案提供以下解决方案:
第一步:获取“chmod”资源这里是不同windows体系结构的存档:
windows 32位-包含chmod.exe、cygwin1.dll、cygiconv-2.dll、cygintl-8.dll和cyggcc\u s-1.dll windows 64位-尚未提供第二步:在windows中设置路径不要忘记在windows中为chmod设置路径变量,否则将找不到chmod!!
首先右键单击桌面上的“我的电脑”图标,然后单击“属性”。或者,只需按windows键+暂停-中断键,然后在打开的新窗口中,单击“高级”选项卡,在“系统变量”中单击“环境变量”,编辑或创建路径变量,然后输入cygwin chmod目录的路径名

相关问题