安装Hadoop 7682补丁后无法运行hadoop程序

时间:2013-08-27 09:56:43

标签: hadoop windows-7 mapreduce patch mahout

我是Hadoop的新手。我正在使用Windows 7和cygwin来处理Hadoop 1.2.1。我的是一个单节点系统。我意识到每当我运行mapreduce脚本文件时,任务跟踪器都没有启动,因此我从https://github.com/congainc/patch-hadoop_7682-1.0.x-win应用了hadoop 7682补丁来解决问题

我将jar文件添加到libs文件夹中,并修改了核心站点xml文件。现在,我能够运行任务跟踪器。但是,现在如果我试图运行任何使用map reduce的程序,比如说,使用mahout clustering命令或任何与mapreduce有关的命令。

$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

我在这里错过了什么吗?

0 个答案:

没有答案