私はHadoopが初めてです。Windows 7 と cygwin を使用して Hadoop 1.2.1 で作業しています。私のは単一ノードシステムです。mapreduce スクリプト ファイルを実行するたびにタスク トラッカーが起動しないことに気付きました。そのため、https://github.com/congainc/patch-hadoop_7682-1.0.x-winから Hadoop 7682 パッチを適用して問題を解決しました。
jar ファイルを libs フォルダーに追加し、core-site xml ファイルも変更しました。これで、タスク トラッカーを実行できるようになりました。ただし、今、たとえば mahout クラスタリング コマンドまたは mapreduce に関係するコマンドを使用して、map reduce を使用するプログラムを実行しようとしている場合。
$MAHOUT_HOME/bin/mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
以下のエラーが表示されます
「スレッド「メイン」の例外 java.lang.RuntimeException: java.lang.ClassNotFoundException ソリューション」
$ bin/mahout org.apache.mahout.clustering.syntheticcontrol.kmeans.Job MAHOUT_LOCAL is not set; adding HADOOP_CONF_DIR to classpath.
hadoop binary is not in PATH,HADOOP_HOME/bin,HADOOP_PREFIX/bin, running locally
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Mahout/trunk/examples/target/mahout-examples-0.9-SNAPSHOT-job.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Mahout/trunk/examples/target/dependency/slf4j-jcl-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JCLLoggerFactory]
Aug 27, 2013 5:53:44 PM org.slf4j.impl.JCLLoggerAdapter warn
WARNING: No org.apache.mahout.clustering.syntheticcontrol.kmeans.Job.props found on classpath, will use command-line arguments only
Aug 27, 2013 5:53:45 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Running with default arguments
Aug 27, 2013 5:53:53 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Preparing Input
Aug 27, 2013 5:53:55 PM org.apache.hadoop.mapred.JobClient copyAndConfigureFiles
WARNING: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
Aug 27, 2013 5:53:55 PM org.apache.hadoop.mapred.JobClient$2 run
INFO: Cleaning up the staging area hdfs://localhost:9000/tmp/hadoop-USER/mapred/staging/USER/.staging/job_201308271750_0001
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: com.conga.services.hadoop.patch.HADOOP_7682.WinLocalFileSystem
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:857)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1440)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:67)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1464)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:263)
at org.apache.hadoop.fs.FileSystem.getLocal(FileSystem.java:234)
at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1230)
at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1206)
at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:1178)
at org.apache.hadoop.mapred.JobClient.copyAndConfigureFiles(JobClient.java:864)
at org.apache.hadoop.mapred.JobClient.copyAndConfigureFiles(JobClient.java:734)
at org.apache.hadoop.mapred.JobClient.access$400(JobClient.java:179)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:951)
at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:936)
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:1190)
at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:936)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:550)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:580)
at org.apache.mahout.clustering.conversion.InputDriver.runJob(InputDriver.java:108)
at org.apache.mahout.clustering.syntheticcontrol.kmeans.Job.run(Job.java:130)
at org.apache.mahout.clustering.syntheticcontrol.kmeans.Job.main(Job.java:60)
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.mahout.driver.MahoutDriver.main(MahoutDriver.java:195)
Caused by: java.lang.ClassNotFoundException: com.conga.services.hadoop.patch.HADOOP_7682.WinLocalFileSystem
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:810)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:855)
... 29 more
ここで何か不足していますか?