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、出現異常,直接粘貼到網上找異常解決,有時候不如自己思考着去解決好使。網上相類似的太多,不一定能准確定位找到解決方法。仔細看下異常描述,稍加分析,嘗試自己去思考解決方法,也許會更有效。當然,前提是已經有一定的異常處理解決的經驗基礎。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM