Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/util/Apps Hadoop2.6.0编程问题与解决

从hadoop 1.2.1升级到 Hadoop2.6.0,调试写代码,还是遇到一些问题的。这里记录一下,后续如果自己再遇到类似问题,那也好找原因了。

在eclipse里编译运行 WordCount,出现以下错误。

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/yarn/util/Apps

         at java.lang.ClassLoader.defineClass1(Native Method)

         at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

         at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

         at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

         at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

         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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

         at org.apache.hadoop.mapred.LocalDistributedCacheManager.setup(LocalDistributedCacheManager.java:93)

         at org.apache.hadoop.mapred.LocalJobRunner$Job.<init>(LocalJobRunner.java:163)

         at org.apache.hadoop.mapred.LocalJobRunner.submitJob(LocalJobRunner.java:731)

         at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:536)

         at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1296)

         at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1293)

         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:1628)

         at org.apache.hadoop.mapreduce.Job.submit(Job.java:1293)

         at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1314)

         at WordCount.main(WordCount.java:70)

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.util.Apps

         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 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

         ... 24 more

 

经过查找类似的错误,终于找到了解决方法。

添加Yarn目录下的Jar包即可。我是把所有包都添加上了。

技术分享

 

 

总结:1、凡是出现 classNotFound、NoClassDefFoundError之类的错误异常,多是jar包未导入引起的。根据相应提示找相应目录下的jar包即可。

2、出现异常,直接粘贴到网上找异常解决,有时候不如自己思考着去解决好使。网上相类似的太多,不一定能准确定位找到解决方法。仔细看下异常描述,稍加分析,尝试自己去思考解决方法,也许会更有效。当然,前提是已经有一定的异常处理解决的经验基础。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。