0

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

4

1 回答 1

0

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

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

于 2014-07-03T12:03:42.293 回答