eclipse - Hadoop Mapreduce ClassNotFoundException

标签 eclipse hadoop mapreduce classnotfoundexception logfactory

我知道这个问题可能已经回答了,但我还没有找到合适的答案。
我在 Eclipse 上使用 hadoop mapreduce,我想创建一个可执行 jar 来将它放在我的 hdfs 集群所在的 linux 服务器上。当我在我的 hdfs 集群和 eclipse 上运行 jar 时,出现由 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 引起的异常。所以我添加了一个外部 jar 通用日志记录,但是当我再次运行它时,又出现了另一个 NoClassDefFoundError 但这次是 log4j-level 等等。我想知道我必须添加多少外部 jar,但我认为这不是最好的解决方案。有没有人有同样的问题,你是如何解决的?
非常感谢你。

最佳答案

通常,当日志初始化期间发生先前的异常时,会发生此错误。

Hadoop 对依赖项非常善变,您应该确保您的第三方库是您的 hadoop 类路径的一部分,或者在您的作业 jar 中创建一个包含所有依赖项的阴影 jar。您应该使用 Maven 或程序集来创建该 jar。

关于eclipse - Hadoop Mapreduce ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24550468/

相关文章:

java - 如何从 JSP 运行 Hadoop 命令

scala - Spark 斯卡拉 java.lang.NoSuchMethodError : while executing fat jar in CDH 5. 16

java - hadoop eclipse 中的 EOF 异常/在 eclipse 中设置 hadoop

Eclipse 无法识别express/node

eclipse - Eclipse 中行号旁边的蓝色突出显示列?

hadoop - SequenceFile替代/扩展,允许就地更新

hadoop - 在 Oozie 中运行 Hive Action 时出错

rmr2 mapreduce csv 列子集

java - 来自 Eclipse 的 SuppressWarnings "all"投诉

java - 如何从 IProject 获取 Bundle-SymbolicName?