0

我有一个与 hadoop 合作的学校项目,该项目将托管在亚马逊 EMR 中。

起初,我试图用简单的 wordcount 程序来理解它,它在 eclipse IDE 上运行良好。

但是,如果我尝试从命令行运行,我会遇到错误。

线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration at counter.WordCount.main(WordCount.java:56) 原因:java.lang.ClassNotFoundException: org.apache.hadoop.conf .在 java.security.AccessController.doPrivileged(Native Method) 的 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 的配置。

您对这个错误有什么建议以及了解 hadoop 和 EMR 的任何资源吗?

谢谢,喵

4

1 回答 1

0

不要从 IDE 或使用 java 命令运行您的作业。而是使用 hadoop 安装的 bin/ 目录中的 hadoop 脚本。

示例:如果您的 Job 的起点位于 mrjob.MyJob 类中,并且您有一个包含 Job 类的 jar (job.jar),您应该像这样运行它:

path/to/bin/hadoop jar job.jar mrjob.MyJob inputFolder outputFolder
于 2012-07-11T17:03:47.500 回答