首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >eclipse java.lang.NoClassDefFoundError中的Hadoop

eclipse java.lang.NoClassDefFoundError中的Hadoop
EN

Stack Overflow用户
提问于 2014-07-30 02:38:58
回答 1查看 4.9K关注 0票数 1

我是hadoop新手,刚刚从在线教程中设置了我的hadoop环境。然而,当我尝试在eclipse中按照下面的指南创建hadoop类时:http://importantfish.com/how-to-run-hadoop-in-standalone-mode-using-eclipse-on-mac-os-x/

我可以运行hadoop示例jars,一切都运行得很好。但当我执行了该博客中涉及的所有步骤并点击eclipse中的run时,我得到了NoClassDefFoundErr:

代码语言:javascript
复制
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:432)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
    at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
    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:1548)
    at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
    at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
    at WordCount.main(WordCount.java:82)
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

此外,我还查看了有关类似问题的其他帖子。有些人提到,您应该同时拥有common-logging-1.1.3.jar和common-logging-api-1.0.4.jar。我没有通用的-logging-api,就是找不到它,我试着尽可能地查看hadoop提供的每个文件夹。

你能告诉我如何解决这个问题吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-09-25 16:18:50

您也可以通过在pom文件中添加以下行来解决此问题:

代码语言:javascript
复制
    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-client</artifactId>
        <version>x.x.x</version>
    </dependency>

this site中列出了HDFS版本号

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25022657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档