1

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を見つけることができるため、環境変数の設定方法がわかりません。この変数を設定する方法と、プログラムを実行するためのその他の構成は何ですか。

4

2 に答える 2

3

システム パス変数を chmod.exe の場所に設定します。Windows インストーラーを使用して cygwin64 をインストールした場合、chmod.exe は以下に存在するはずです。

INSTALLATION_DIR\cygwin64\bin

私の場合、C ドライブに cygwin をインストールしたので、システム パス変数の値は;C:\cygwin64\bin

于 2014-04-25T09:37:24.167 に答える