尝试在Map / Reduce程序中实例化Configuration
对象时出现意外错误。
错误如下:
java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory
我正在使用Hadoop 2.2.0。该程序在早期版本的Hadoop中运行良好。但是,现在我需要为版本2编写此作业提交者,这似乎不起作用。
作为旁注,我找不到此版本所需的所有JAR文件。我已经阅读了类似问题的以下解决方案:Where are hadoop jar files in hadoop 2?。但是,这对我不起作用。它因上述运行时错误而失败。
我尝试使用较旧的JAR文件来解决这些问题,但新错误仍在继续。
有没有人能解决这个问题?我正在使用NetBeans,如果由于某种原因有任何不同。
答案 0 :(得分:2)
在下面列出的文件夹中包含JAR为我工作:
共享\ hadoop的\共同
共享\ hadoop的\ common \ lib文件
共享\ hadoop的\ MapReduce的
共享\ hadoop的\ MapReduce的\ LIB
共享\ hadoop的\纱
分享\ hadoop \ yarn \ lib
答案 1 :(得分:1)
我通过从commons.apache directory和Maven存储库下载JAR文件解决了这个问题。每次我向项目添加一个新的JAR时,应用程序崩溃时会出现一个不同的错误(找不到另一个类),直到我从Maven存储库下载了所有JAR文件。从在线存储库下载了大量JAR文件后,大多数与JAR相关的问题似乎都得到了解决。
答案 2 :(得分:0)
您可以尝试右键单击项目, - >构建路径 - >配置构建路径
转到src文件夹,指向“Native Library”,然后将位置编辑到hadoop本机库文件夹的位置(通常:〜/ hadoop-xxx / lib / native /“folder-depends-on-your -system“)