Hadoop - map-reduce - java.lang.NoClassDefFoundError

时间:2013-11-22 16:29:50

标签: hadoop

问题是:如果我输入

hadoop jar MY.jar name_my_class / user / user / input / user / user / output

我需要的所有课程都在MY.jar中,为什么我仍然会收到错误

java.lang.NoClassDefFoundError ??

我知道这是一般性问题,所以如果你认为更好,我会提供所有细节和代码:)

提前致谢

13/11/22 17:24:27 WARN mapred.LocalJobRunner: job_local1970405879_0001
java.lang.NoClassDefFoundError: org/jocl/CLException
at jocl.MaxTemperatureReducer.setup(MaxTemperatureReducer.java:33)
at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174)
at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649)
at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:418)
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:398)
Caused by: java.lang.ClassNotFoundException: org.jocl.CLException
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:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 5 more

1 个答案:

答案 0 :(得分:0)

您的类路径中似乎缺少CLException类。

复制包含 org.jocl.CLException 类的jar文件,并将其放在hadoop安装的 lib 文件夹中。